我已創建WCF服務並正在使用netMsmqBinding綁定。如何處理WCF的MSMQ綁定中的消息失敗
這是一個簡單的服務,它將Dto傳遞給我的服務方法,並且不期待響應。該消息被放置在MSMQ中,並且一旦被拾取,就插入到數據庫中。
確保沒有數據丟失的最佳方法是什麼?
我已經試過2種以下方法:
拋出一個異常
這將郵件放在手動審閱死信隊列。當我開始strvice
集上的綁定
3之後嘗試的receiveRetryCount =「3」我可以處理這一點 - 這instantanously發生,這似乎留在隊列中的消息,但故障我的服務。重新啓動我的服務將重複此過程。
我非常希望做如下:
嘗試過程中的消息
- 如果失敗,等待5分鐘,該郵件,然後再試一次。
- 如果該過程失敗3次,請將消息移至死信隊列。
- 重新啓動該服務會將所有來自死信隊列的消息推回到隊列中,以便可以對其進行處理。
我可以做到嗎?如果是這樣如何? 你能指點我一些關於如何最好地利用WCF和MSMQ給我的場景的好文章。
任何幫助將不勝感激。謝謝!
一些額外的信息
我使用MSMQ 3.0在Windows XP和Windows Server 2003 不幸的是我不能使用內置的針對MSMQ 4.0和Vista/2008帶毒郵件支持。
這適用於MSMQ 4.0而不是MSMQ 3.0 – Perhentian 2011-11-16 12:34:19