Подтвердить что ты не робот

С#. MSMQ. Максимальный размер одного сообщения

Используя msmq, я хочу отправить сообщение (около 1 ГБ). Я хочу отправить массив байтов. Но я могу отправить только 4 МБ. Как можно обойти это ограничение?

4b9b3361

Ответ 1

Как вы знаете, максимальный размер сообщения в MSMQ составляет 4 Мб, лучше использовать некоторые другие решения.

Решение:Если вы хотите перенести данные, превышающие этот размер, вам придется его обрезать в куски на стороне отправителя и рекомбинировать его на стороне приемника.

Почему в сообщениях MSMQ есть ограничение на 4 МБ?Проверьте этот блог.

Как отправить файлы размером более 4 МБ с помощью Microsoft Message Queuing? здесь

Ответ 2

Вам нужно придерживаться чистого MSMQ? Если вы можете перейти на NServiceBus, у него есть функция DataBus, которая может эффективно разместить большая полезная нагрузка вне MSMQ, но связывает полезную нагрузку с сообщением MSMQ.

(Это также, по моему опыту, делает работу с MSMQ более приятной с С#. Но YMMV)


Если вы не можете использовать NServiceBus, вы можете по крайней мере вдохновиться им. Создайте случайное имя файла, сохраните содержимое на общем ресурсе, доступном для обеих конечных точек, укажите имя файла в своем сообщении.