c#.MSMQ单个消息的最大大小

本文关键字:消息 MSMQ 单个 | 更新日期: 2023-09-27 17:53:39

使用msmq我想发送一个消息(接近1gb )。我想发送字节数组。但是我只能发送 4mb 如何绕过这个限制?

c#.MSMQ单个消息的最大大小

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

解决方案:如果您想要传输超过此大小的数据,则必须削减它在发送端分成块,在接收端重新组合。

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

如何使用Microsoft Message Queuing发送大于4mb的文件?

一定要坚持纯MSMQ吗?如果你考虑切换到NServiceBus,它有一个叫做DataBus的特性,它可以有效地将一个大的有效载荷放在MSMQ之外,但将有效载荷绑定到MSMQ消息。

(根据我的经验,它也使使用MSMQ比使用c#更愉快。但YMMV)


如果你不能使用NServiceBus,你至少可以从它那里得到启发。生成一个随机文件名,将内容存储在两个端点都可以访问的共享上,并将文件名包含在您的消息中。