设置服务总线队列超时

时间:2015-09-15 08:19:40

标签: azure servicebus

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

{"请求在00:00:00毫秒后超时。无法确定请求的成功完成。应进行其他查询以确定操作是否成功。"}

有效的连接字符串 端点= SB://xxxx.servicebus.windows.net/; SharedAccessKeyName =政策; 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 个答案:

答案 0 :(得分:1)

您使用的是ACS还是SAS密钥?从您的连接字符串,它看起来像SAS,所以您可能想要使用CreateSharedSecretTokenProvider。如在

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