Где я могу подключиться к WCF, чтобы получать уведомления о прибытии сообщения?

StackOverflow https://stackoverflow.com/questions/213630

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пишу пример хоста службы консоли и хочу подключиться к стеку WCF, чтобы иметь возможность печатать сообщение на консоли при поступлении нового сообщения, даже если оно не будет обработано службой в данный момент (поскольку Сервис работает на предыдущих звонках). Это основано на моем предположении, что поступающие сообщения попадают в очередь WCF, это правильно?

Кроме того, я использую netTcpBinding, если это важно.

Это было полезно?

Решение

Вы можете написать собственный канал и вставить его в стек каналов в любой точке по вашему желанию. Очередь происходит в ChannelListeners, которые расположены между каждым каналом:

ChannelListener_1 - > Channel_1 - > ChannelListener_2 - > Channel_2 - > и др.

Итак, если вы вставите свой собственный слушатель / канал, вы можете подключиться к любой части процесса, которая вам нужна. Однако обратите внимание, что содержимое сообщения может быть недоступно для чтения, пока оно не окажется в стеке и не расшифровано.

Другие советы

Возможно, вам придется написать собственный канал для этого. Ознакомьтесь с мини-книгой по каналам WCF

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top