c#. MSMQ .The max size of a single message

我们两清 提交于 2019-12-21 07:12:19

问题


Using msmq I want to send a message (near 1 GB). I want to send array of bytes. But I can send only 4 MB. How can I get around this limitation ?


回答1:


As you know the maximum size of a message in MSMQ is 4Mb, its better to go for some other solutions.

Solution : If you want to transfer data that exceeds this size, you will have to cut it into chunks in the sender's side, and recombine it in the receiver side.

Why is there a 4MB limit on MSMQ messages? Check out this blog.

How to send files larger than 4 MB by using Microsoft Message Queuing ? here




回答2:


Do you have to stick to pure MSMQ? If you might consider switching to NServiceBus, it has a feature called DataBus which can effectively place a large payload outside of MSMQ, but ties the payload to an MSMQ message.

(It also, in my experience, makes working with MSMQ far more pleasant from C#. But YMMV)


If you can't use NServiceBus, you could at least be inspired by it. Generate a random file name, store the content on a share accessible to both endpoints, include the file name in your message.



来源:https://stackoverflow.com/questions/14332080/c-msmq-the-max-size-of-a-single-message

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!