Что происходит, когда я подписываюсь на сообщение, используя NServiceBus? - PullRequest
3 голосов
/ 19 марта 2010

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

Bus.Subscribe<MyMessage>()

Что я на самом деле делаю? Указываю ли я, что определенный метод для типа получателя будет вызываться при получении сообщения? Если да, то в каком контексте выполняется метод - в статическом контексте или в контексте нового экземпляра родительского класса (и если так, как NServiceBus знает, какой конструктор использовать)?

1 Ответ

8 голосов
/ 19 марта 2010

Издателю отправлено сообщение о том, что «Привет, меня зовут« queue @ subscriber-machine », и я хотел бы подписаться на события« MyMessage »- поэтому отправляйте мне эти сообщения, когда вы их публикуете». Издатель хранит эту информацию. Когда издатель публикует события MyMessage, они затем помещаются во входную очередь подписчика. На стороне подписчика сообщение обрабатывается, как и все остальные - все классы, которые реализуют IHandleMessage , где T полиморфно совместим с сообщением, вызываются в соответствующем порядке.

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