我正在尝试创建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;
答案 0 :(得分:1)
您使用的是ACS还是SAS密钥?从您的连接字符串,它看起来像SAS,所以您可能想要使用CreateSharedSecretTokenProvider。如在
TokenProvider credentials = TokenProvider.CreateSharedAccessSignatureTokenProvider(sasKeyName,sasKeyValue);