通过MSMQ和WCF发送的超过接收者配额的消息会发生什么?

时间:2013-11-01 11:25:56

标签: c# wcf msmq readerquotas

如果我使用WCF来发送消息,例如Http,并且邮件对于收件人来说太大,我在发件人处理错,并且可以采取行动。

如果我使用WCF通过MSMQ发送消息(非事务性)并且消息对于收件人来说太大,它似乎消失了,我没有得到客户端或服务器端的指示

我是否可以通过某种方式观察(并采取行动)此类事件?

1 个答案:

答案 0 :(得分:1)

假设您的目标是MSMQ,(无论WCF如何),这里有几个要考虑的事项。

  1. 要发布到MSMQ的单个邮件的最大大小为4Mb。
  2. 如果尝试将超过4Mb的消息发布到MSMQ,您将收到以下错误: [System.ServiceModel.ExceptionDetail]:内部错误:执行操作的资源不足。
  3. 如果您的要求是将超过4Mb的消息发布到MSMQ,那么很少有解决方案,例如,
    • 使用NServiceBus
    • 在发布期间压缩消息并在检索中解压缩消息。
    • 实现NServiceBus逻辑,即将消息写入共享位置的文件并将文件位置存储在消息中。