С#. MSMQ. Максимальный размер одного сообщения
Используя msmq, я хочу отправить сообщение (около 1 ГБ). Я хочу отправить массив байтов. Но я могу отправить только 4 МБ. Как можно обойти это ограничение?
Ответы
Ответ 1
Как вы знаете, максимальный размер сообщения в MSMQ составляет 4 Мб, лучше использовать некоторые другие решения.
Решение:Если вы хотите перенести данные, превышающие этот размер, вам придется его обрезать
в куски на стороне отправителя и рекомбинировать его на стороне приемника.
Почему в сообщениях MSMQ есть ограничение на 4 МБ?Проверьте этот блог.
Как отправить файлы размером более 4 МБ с помощью Microsoft Message Queuing? здесь
Ответ 2
Вам нужно придерживаться чистого MSMQ? Если вы можете перейти на NServiceBus, у него есть функция DataBus, которая может эффективно разместить большая полезная нагрузка вне MSMQ, но связывает полезную нагрузку с сообщением MSMQ.
(Это также, по моему опыту, делает работу с MSMQ более приятной с С#. Но YMMV)
Если вы не можете использовать NServiceBus, вы можете по крайней мере вдохновиться им. Создайте случайное имя файла, сохраните содержимое на общем ресурсе, доступном для обеих конечных точек, укажите имя файла в своем сообщении.