Azure Service Bus - SuscriptionClient.BeginAcceptMessageSession()和TimeoutException

时间:2012-09-28 16:27:28

标签: azure servicebus azureservicebus

如果超出BeginAcceptMessageSession()参数中指定的时间,文档会让人相信TimeoutException会抛出serverWaitTime。这似乎并不总是发生。

所以,如果主题中没有消息(即它等待一段时间,并且没有找到消息,那么这个东西的行为是不应该交回MessageSession的,它抛出TimeoutException)?或者更确切地说,无论是否有消息,它是否只能在时间范围内无法回复?

我正在对空主题和空订阅进行非常简单的测试。使用5秒的超时值,有时它会抛出TimeoutException,有时却不抛出。

是什么给出的?为什么这个东西不一致?将抛出或不抛出TimeoutException的规则是什么?我可以在空订阅中获得MessageSession吗?

这些文档非常稀疏。

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:1)

是的,这篇文章非常令人印象深刻。

如果你确实得到了Close(),你是MessageSession吗?

请记住,返回的对象代表一个令牌,该令牌授予您从主题中出列的专有权,直到您将其返回或其他人“赢得”为止。