2013-05-08 27 views
0

我正在使用Service Bus Queue將項目從生產者傳遞給使用者。生產者能夠成功地將項目發送到隊列並且消費者正確地接收,但是然後它顯示奇怪的行爲,其中即使隊列具有數千條消息,接收方法返回null(沒有錯誤)中介消息。我的隊列有什麼問題?服務總線QueueClient返回null中介消息偶數隊列中有數千條消息

這裏要提到的一件事是,在測試中,我在隊列上調用了Close()方法。但它只做了一次,並在測試。但是現在我每次運行receive方法都返回null代理消息。

+0

您是否嘗試從隊列中獲取消息,並且在「Close」之前沒有對其調用'Complete'或'Abandon'? – 2013-05-08 19:58:31

+0

您如何檢測到隊列中有成千上萬條消息? – 2013-05-08 20:02:42

+0

通過隊列描述,當然通過門戶 – ZafarYousafi 2013-05-09 09:56:28

回答

2

messageCount可以包含來自子隊列的消息,如死信和預定消息。如果你的所有消息已經過期,那麼你將不得不創建一個接收器給死信子隊列來獲取它們。

+0

確實是這個問題。所有隊列項目都被延期。我試圖通過使用序列號來恢復它們(我必須擊中每個從0到10000的數字),但仍有一些項目未被恢復。如果序列號丟失,是否有任何方法可以恢復這些延期項目? – ZafarYousafi 2013-05-09 09:58:27

+0

不幸的是,如果您沒有序列號,此時無法恢復延期郵件。蠻力接收的數字與您所看到的數字相同,因爲當前序列號將是替代選項。 – 2013-05-09 17:56:31