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

StackOverflow https://stackoverflow.com/questions/2840471

  •  27-09-2019
  •  | 
  •  

Вопрос

Дает ли NServiceBus 2.0 для определения сериализатора для данного типа сообщения?

Я хочу для всех, кроме одного из моих Messaages, чтобы быть сериализованным с использованием XMLSerializer. Остальные должны быть сериализованы с использованием джинасериализатора.

Возможно ли с NServiceBus 2.0?

Это было полезно?

Решение

Я полагаю, что сериализатор указан на основе конечной точки, поэтому все сообщения, использующие эту конечную точку, будут использовать один и тот же сериализатор.

Однако, если вы будете следовать рекомендации Rote NServiceBus из одного типа сообщения на конечную точку / очереди, вы можете эффективно изолировать один тип сообщения и использовать для него другой сериал.

Мне любопытно, однако, что особенное в одном типе сообщения, требующим двоичной сериализации?

Редактировать в ответ на комментарий

То Информация об распределении Косвенно упоминает это под маршрутированием с дистрибьютором. Уди Дахан также часто советует это в NSERVICEBUS Yahoo Group Хотя трудно предоставить ссылки, потому что поиск там беден.

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

Поскольку MSMQTRANSPORTCONFIG позволяет только для указанного ввода ввода ввода, имея один тип сообщения на очередь также означает, что у вас есть только один обработчик сообщений на конечную точку.

Чтобы решить изображение, вы все равно сможете вводить в него в формате XML-отформатированного в формате XML, если вы кодируете массив байта в виде строки в подкодирении Base64. Это не идеально, но если ваши изображения не слишком велики, это может быть легче сделать это, чем идти на беду использовать другой сериализатор только на одном типе сообщения.

Другой вариант состоит в том, чтобы сохранить данные изображения вне полосы в базе данных или файловой системе, а затем обратиться к нему по ID или пути (соответственно).

Другие советы

Невозможно в версии 2. Но это можно сделать с помощью трубопровода в версиях 5 и выше http://docs.carticle.net/samples/pipeline/multi-serializer/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top