2012-09-28 83 views
1

如果超过serverWaitTime参数中指定的时间量,文档会导致人们相信BeginAcceptMessageSession()将抛出TimeoutException。这似乎并不总是会发生。Azure服务总线 - SuscriptionClient.BeginAcceptMessageSession()和TimeoutException

因此,是否这样的事情的行为,如果主题中没有消息(即它等待一段时间,并且没有找到消息,则它会抛出该消息时它不应该返回MessageSessionTimeoutException)?或者,相反,如果在时间范围内无法回复,无论是否存在消息,它都会超时吗?

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

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

这些文档是完全稀疏的。

感谢您提供任何帮助。

回答

1

是的,非文件非常令人印象深刻。

你是否Close()在你得到它的情况下MessageSession

请记住,返回的对象表示一个令牌,它授予您从主题中退出的专有权利,直到您将其返回或其他人“胜利”为止。