使用 msmq 我想发送消息( 接近1 GB )。我想发送字节数组。但我只能发送 4 MB 。 如何解决此限制?
答案 0 :(得分:16)
如您所知,MSMQ中消息的最大大小为4Mb,最好采用其他解决方案。
解决方案: 如果要传输超过此大小的数据,则必须将其剪切 在发送者的一侧进入块,并在接收方重新组合。
为什么MSMQ消息有4MB限制? 查看this博客。
如何使用Microsoft消息队列发送大于4 MB的文件? here
答案 1 :(得分:6)
你必须坚持使用纯MSMQ吗?如果您考虑切换到NServiceBus,它有一个名为DataBus的功能,它可以有效地将大型有效负载放在MSMQ之外,但将有效负载绑定到MSMQ消息。
(根据我的经验,这也使得与MSMQ的合作从C#开始变得更加愉快。但是YMMV)
如果你不能使用NServiceBus,你至少可以从中受到启发。生成随机文件名,将内容存储在两个端点均可访问的共享上,并在邮件中包含文件名。