Где я могу подключиться к WCF, чтобы получать уведомления о прибытии сообщения?
-
03-07-2019 - |
Вопрос
Я пишу пример хоста службы консоли и хочу подключиться к стеку WCF, чтобы иметь возможность печатать сообщение на консоли при поступлении нового сообщения, даже если оно не будет обработано службой в данный момент (поскольку Сервис работает на предыдущих звонках). Это основано на моем предположении, что поступающие сообщения попадают в очередь WCF, это правильно?
Кроме того, я использую netTcpBinding, если это важно. Р>
Решение
Вы можете написать собственный канал и вставить его в стек каналов в любой точке по вашему желанию. Очередь происходит в ChannelListeners, которые расположены между каждым каналом:
ChannelListener_1 - > Channel_1 - > ChannelListener_2 - > Channel_2 - > и др. р>
Итак, если вы вставите свой собственный слушатель / канал, вы можете подключиться к любой части процесса, которая вам нужна. Однако обратите внимание, что содержимое сообщения может быть недоступно для чтения, пока оно не окажется в стеке и не расшифровано.
Другие советы
Возможно, вам придется написать собственный канал для этого. Ознакомьтесь с мини-книгой по каналам WCF