C#。 MSMQ。单个邮件的最大大小

使用msmq我想发送一条消息( 接近1 GB )。 我想发送字节数组 。 但我只能发送4 MB我怎样才能解决这个限制?

如您所知,MSMQ中消息的最大大小为4Mb,最好采用其他解决方案。

解决方案:如果要传输超过此大小的数据,则必须将其剪切为发送方的块,然后在接收方重新组合。

为什么MSMQ消息有4MB的限制? 看看这个博客。

如何使用Microsoft消息队列发送大于4 MB的文件 ? 这里

你必须坚持纯MSMQ吗? 如果您考虑切换到NServiceBus ,它有一个名为DataBus的function,它可以有效地将大型有效负载放在MSMQ之外,但将有效负载绑定到MSMQ消息。

(根据我的经验,这也使得与MSMQ的合作从C#开始变得更加愉快。但是YMMV)


如果你不能使用NServiceBus,你至少可以从中受到启发。 生成随机文件名,将内容存储在两个端点均可访问的共享上,并在邮件中包含文件名。