【问题标题】:Setting service bus queue timeout设置服务总线队列超时
【发布时间】:2015-09-18 04:46:23
【问题描述】:

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

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

有效的连接字符串 Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=policy;SharedAccessKey=key

代码:

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;

【问题讨论】:

    标签: azure servicebus


    【解决方案1】:

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

    TokenProvider 凭据 = TokenProvider.CreateSharedAccessSignatureTokenProvider(sasKeyName,sasKeyValue);

    【讨论】:

    • 谢谢!那是为我做的
    猜你喜欢
    • 2017-02-25
    • 1970-01-01
    • 2015-07-18
    • 2019-02-12
    • 1970-01-01
    • 2020-12-17
    • 2018-04-01
    • 2013-08-19
    • 2015-06-08
    相关资源
    最近更新 更多