2012-09-28 120 views
1

如果超過serverWaitTime參數中指定的時間量,文檔會導致人們相信BeginAcceptMessageSession()將拋出TimeoutException。這似乎並不總是會發生。Azure服務總線 - SuscriptionClient.BeginAcceptMessageSession()和TimeoutException

因此,是否這樣的事情的行爲,如果主題中沒有消息(即它等待一段時間,並且沒有找到消息,則它會拋出該消息時它不應該返回MessageSessionTimeoutException)?或者,相反,如果在時間範圍內無法回覆,無論是否存在消息,它都會超時嗎?

我對一個空主題和一個空的訂閱進行了非常簡單的測試。使用5秒超時值,有時會拋出TimeoutException,有時不會。

什麼給?爲什麼這個東西不一致?什麼時候TimeoutException將會或不會被拋出的規則是什麼?我可以在空訂閱中獲得MessageSession嗎?

這些文檔是完全稀疏的。

感謝您提供任何幫助。

回答

1

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

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

請記住,返回的對象表示一個令牌,它授予您從主題中退出的專有權利,直到您將其返回或其他人「勝利」爲止。