Использование удаленных событий в wcf - PullRequest
3 голосов
/ 09 апреля 2009

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

Спасибо.

=== РЕДАКТИРОВАТЬ ===

С помощью MSMQ я смог добиться того, что мне нужно.

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

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

Жаль, что MSMQ не предоставляет такие темы, как JMS

=== РЕДАКТИРОВАТЬ 2 ===

Ведь реализация шаблона подписчика издателя в WCF проста.

Эти две статьи ( article1 , article2 ) описывают, как это можно сделать.

1 Ответ

1 голос
/ 09 апреля 2009

То, что вы пытаетесь сделать, называется многоадресной рассылкой подписчика издателя. Нет, вы не можете сделать это в WCF, не написав много стандартного кода. MSMQ также не поддерживает многоадресную рассылку.

Взгляните на (все бесплатно и с открытым исходным кодом) NServiceBus, MassTransit или Rhino Service Bus, если вы можете жить без WCF. Если вы должны использовать WCF, взгляните на Neuron (коммерческий продукт).

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