簡體   English   中英

通過MSMQ和WCF發送的超出接收者配額的消息會發生什么情況?

[英]What happens to messages sent over MSMQ and WCF that exceed the receivers quota?

如果我使用WCF通過Http來發送消息,而該消息對於接收者而言太大,那么發送者會遇到問題,可以采取措施。

如果我使用WCF通過MSMQ (非事務性)發送消息,並且該消息對於收件人而言太大,則它似乎消失了,並且無論客戶端還是服務器端都沒有任何指示。

有什么辦法可以觀察(並采取措施)這種情況?

假設您的目標是MSMQ(與WCF無關),這里有幾個要考慮的事項。

  1. 要發布到MSMQ的單個消息的最大大小為4Mb。
  2. 如果嘗試將超過4Mb的消息發布到MSMQ,您將收到以下錯誤:[System.ServiceModel.ExceptionDetail]:內部錯誤:資源不足,無法執行操作。
  3. 如果您的要求是通過4Mb向MSMQ發布消息,那么幾乎沒有解決方案,例如,
    • 使用NServiceBus
    • 在發布過程中壓縮消息,而在檢索過程中將其解壓縮。
    • 實現NServiceBus邏輯,即將消息寫入共享位置的文件並將文件位置存儲在消息中。

暫無
暫無

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

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