Пользовательский конвейерный компонент BizTalk - Несогласованное поведение сообщений - PullRequest
0 голосов
/ 17 октября 2019

У меня есть пользовательские компоненты конвейера на портах приема и отправки. Сообщения опрашиваются каждые 30 секунд из адаптера WCF-SQL в месте получения. Пользовательский компонент получения конвейера выполняет продвижение свойств для нескольких полей. Порт отправки подписывается на вышеуказанное сообщение и выполняет некоторую обработку в пользовательском компоненте конвейера. Я слежу за сведениями о действиях пользовательских компонентов конвейера, таких как запуск и завершение процесса, записывая информацию в средство просмотра событий из кода пользовательского компонента конвейера.

При обработке различных сообщений в конвейере отправки BizTalk я сталкиваюсь с непоследовательным поведением. Например, если места приема опрашивают 3 разных сообщения (message1, message2, message3) из базы данных. message3 занимает больше времени для обработки по сравнению с message1 и message2.

Иногда message1, message2 обрабатываются, и экземпляр службы показывает, что завершено для этих 2 сообщений с их временем окончания, в то время как сообщения 3 все еще находятся в процессе. Но здесь возникает проблема, которая не согласована в поведении, экземпляр службы Message1 и message2 по-прежнему отображается активным, хотя они обрабатываются в конвейере отправки, и статус этих 2 сообщений обновляется до завершенного ТОЛЬКО после завершения обработки message3 и времени окончаниявсе 3 сообщения обновляются с одинаковым временем окончания экземпляра службы message3.

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

Какие-либо входы для обработки этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...