簡體   English   中英

WCF和MSMQ故障處理

[英]WCF and MSMQ failure handling

有人可以向我解釋這3種處理交付失敗的消息的方法之間的區別嗎?

  • 毒葯隊列服務
  • 死信隊列服務
  • 使用響應服務來處理故障

我有“編程WCF”,但我真的不明白你何時會使用其中一個,或者什么時候才能使用其中一個以上。 謝謝!

死和毒是兩個不同的概念。 毒性消息是可以從隊列中讀取的消息,但是您的代碼不知道如何處理它,因此您的代碼會產生異常。 如果這種情況持續一段時間,您希望將此消息放在不同的隊列中,以便處理其他消息。 MSDN上描述一個很好的方法。

死信是一個甚至不由隊列處理的消息。 網絡中斷或接收MSMQ計算機已關閉。 這樣的事情。 一段時間后,Windows會自動將消息放入死隊列。 因此,建議編寫一個監視死隊列的服務。

毒性消息/死信消息隊列用於將已被確定為無法傳遞的消息放入不會再嘗試傳遞它們的隊列中。 如果您可能希望手動查看失敗的消息並在以后處理它們,則可以執行此操作。 當您希望通過反復重試來防止錯誤消息降低系統性能時,可以使用這些類型的隊列。

另一方面,響應服務將用於通知發送方處理消息時出錯。 通常在這種情況下,您不打算手動處理錯誤消息,並且需要讓發送消息的系統請求已被拒絕。

請注意,這些並不是唯一的。 如果您正在使用隊列,則消息序列化總是有可能更改到足以中斷隊列中的消息,在這種情況下,即使您使用響應服務,您仍可能希望擁有死信隊列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM