在Azure中运行我的客户端代码时,我遇到了这个异常:
System.InvalidOperationException: Failed with error code 0xe.
at Microsoft.ServiceBus.Tracing.EventProviderClone.Register (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Tracing.EventSource..ctor (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Tracing.MessagingClientEtwProvider.get_Provider (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.ClientEntity.<OnClosed>b__73_0 (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Tracing.MessagingClientEtwProvider.TraceClient (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.ClientEntity.OnClosed (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
at Microsoft.ServiceBus.Messaging.ClientEntity.Finalize (Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
我使用的是WIndowsAzure.ServiceBus v3.4.6软件包。
我创建客户端的代码是这样的:
private QueueClient QueueClient(string queueName)
{
var namespaceManager = NamespaceManager.CreateFromConnectionString(_serviceBusEndPoint);
namespaceManager.Settings.RetryPolicy = new RetryExponential(
minBackoff: TimeSpan.FromSeconds(0),
maxBackoff: TimeSpan.FromSeconds(30),
maxRetryCount: 5);
var messagingFactory = MessagingFactory.Create(namespaceManager.Address, namespaceManager.Settings.TokenProvider);
messagingFactory.RetryPolicy = new RetryExponential(
minBackoff: TimeSpan.FromSeconds(1),
maxBackoff: TimeSpan.FromSeconds(30),
maxRetryCount: 5);
var client = messagingFactory.CreateQueueClient(queueName);
client.RetryPolicy =
new RetryExponential(
minBackoff: TimeSpan.FromSeconds(0.1),
maxBackoff: TimeSpan.FromSeconds(30),
maxRetryCount: 5);
return client;
}
我对这个例外发生的原因感到茫然。