Добавление части сообщения динамически в приемный конвейер
Я попытался создать пользовательский компонент конвейера, который принимает сообщение и динамически присоединяет дополнительную другую часть (на этапе дизассемблирования). Я не настроил порт отправки, чтобы видеть, что BizTalk пытается обработать. Я вижу только часть тела, дополнительная часть не отображается. Это код, который я использовал:
var part = pc.GetMessageFactory().CreateMessagePart();
part.Data = new MemoryStream(new byte[] {1, 2, 3, 4, 5});
inmsg.AddPart("another_part", part, false);
Спасибо.
1 ответ
Большинство адаптеров не смотрят ни на что, кроме части тела сообщения. Исключением являются адаптеры, связанные с веб-сервисом, а также адаптер SMTP, который может включать дополнительные части в виде вложений в электронное письмо.
Это на самом деле имеет смысл; например, что будет делать файловый адаптер с несколькими частями? Сохранить каждый как отдельный файл?
Причина, по которой вы видите, что MIME-кодер делает разницу, заключается в том, что он явно обрабатывает сообщения, состоящие из нескольких частей, кодируя каждую часть в получающееся сообщение MIME.