The property 'EnableExpress' cannot be set when creating a topic

Fixed in

EPiServer.Azure 10.0.1

(Or a related package)

Created

Dec 05, 2019

Updated

Dec 20, 2019

Area

CMS Core

State

Closed, Fixed and tested


Description

Steps to reproduce

  1. Create Service Bus Premium.
  2. Start the site.

Expected:
Should work.

Actual:
Throws an exception.

Workaround: Create a topic before starting the site, for example in an Azure portal.

System.ArgumentException: The remote server returned an error: (400) Bad Request. SubCode=40000. The property 'EnableExpress' cannot be set when creating a Topic because the namespace 'xxx' is using 'Premium' tier. To know more visit https://aka.ms/sbResourceMgrExceptions
Parameter name: EnableExpress. TrackingId:?????, xxx.servicebus.windows.net:???????, Timestamp:2019-12-05T17:15:25 ---> System.Net.WebException: The remote server returned an error: (400) Bad Request.
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.CreateOrUpdateTask`1.<OnRunAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.RetryResourceTask`1.<RunAsync>d__34.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.RetryResourceTask`1.<RunAsync>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceBus.NamespaceManager.CreateOrUpdateTopicTask.<RunAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceBus.Common.TaskHelpers.CompleteSynchronously[TResult](Task`1 task)
   at EPiServer.Azure.Events.Internal.DefaultServiceBusSetup.CreateTopic(String connectionString, String topicName, Boolean enablePartitioning, Boolean enableExpressQueues, CancellationToken cancellationToken)
   at EPiServer.Azure.Events.AzureEventProvider.InitializeServiceBusConnection()