Подключить SendObserver к точке назначения, полученной при использовании контекста один раз

#masstransit

#массовый переход

Вопрос:

Я пытаюсь отслеживать отправленные сообщения с помощью SendObserver на ISendEndpoint. Когда я использую GetSendEndpoint из контекста потребления и добавляю наблюдателя с помощью ConnectSendObserver, я замечаю, что предыдущие наблюдатели, добавленные из предыдущих сообщений, все еще существуют, поэтому наблюдатель вызывается несколько раз после отправки первого сообщения. Пожалуйста, обратите внимание, что я должен установить наблюдателя через контекст использования.

Ответ №1:

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

Таким образом, вы не накапливаете их с течением времени.