我瞭解死信隊列和毒物隊列之間的區別。我將在交易和耐久性方面發言。死信隊列和毒物隊列
DLQ:客戶端發送消息。 MSMQ無法傳遞消息。消息仍在隊列中,等待發送到目標隊列。
PQ:郵件已成功發送。 WCF服務處理消息。 WCF操作期間發生了一些錯誤。消息被放置在毒物隊列中。
(請糾正我,如果我錯了,上面)
現在,如果WCF服務遇到錯誤,並在適當位置(屬性)交易範圍,那麼它是如何把帶毒隊列中的消息還是需要開發?如果需要開發,那麼它是如何完成的? 處理中毒訊息怎麼樣?有沒有辦法將它們放回隊列再次處理?如何確定信息是否是毒藥?例如,WCF中的操作可能會遇到錯誤,但可以從中恢復。
我沒有讀過這個,但在MSDN提供的示例中,我無法看到這種行爲。事實上,下次服務器端服務啓動時,它不會處理隊列中的任何新消息或舊消息。所以在服務器端,我添加了代碼來引發異常。我看到消息仍在隊列中。下次我從客戶端發送messasge - 服務器沒有收到它,但它在MSMQ中。 – 2012-04-21 18:49:14