2015-09-15 53 views
0

我正在尝试创建一个QueueClient并将其超时从60秒的默认值增加。 当我从Connectionstring创建客户端时,它工作正常,但我无法调整时间。当我使用工厂创建客户端请参阅下面的代码,我得到以下超时异常。任何人都可以告诉我我错过了什么或者没有完成。设置服务总线队列超时

{“该请求已后00:00:00毫秒超时。该请求的成功完成无法确定。附加询问应以确定操作是否已成功。”}

该工程 终点= SB连接字符串:; SharedAccessKeyName =政策; //xxxx.servicebus.windows.net/ SharedAccessKey =键

代码:

MessagingFactorySettings settings = new MessagingFactorySettings 
     { 
     OperationTimeout = TimeSpan.FromSeconds(120), 
     TokenProvider = TokenProvider.CreateSharedSecretTokenProvider("policy", "key") 
     }; 

     var address = ServiceBusEnvironment.CreateServiceUri("sb", "xxxx.servicebus.windows.net", string.Empty); 

     var messagingFactory = MessagingFactory.Create(address, settings); 

     QueueClient result = messagingFactory.CreateQueueClient(queueName); 

     result.RetryPolicy = new RetryExponential(TimeSpan.Zero, TimeSpan.FromMilliseconds(1000), 5); 
     return result; 

回答

1

您使用ACS或SAS键?从连接字符串看,它看起来像SAS,所以你可能想用CreateSharedSecretTokenProvider来代替。如

TokenProvider credentials = TokenProvider.CreateSharedAccessSignatureTokenProvider(sasKeyName,sasKeyValue);

+0

谢谢!那是为我做的 – MCS

相关问题