Существует ли такая вещь, как агрегатор событий приложения dektop, похожий на тот, который используется в Prism? - PullRequest
2 голосов
/ 25 мая 2010

Агрегатор событий в Prism великолепен и обеспечивает слабосвязанную связь между модулями в составном приложении. Существует ли такая вещь, которая допускает то же самое между автономными приложениями, запущенными на рабочем столе пользователя?

Я мог бы представить разработку решения, использующего WCF с привязкой TCP и работающего внутри службы активации Windows. Клиентские приложения могут подписываться или публиковать события для этой службы по мере необходимости, и это будет гарантировать, что все другие слушатели будут получать уведомления о событиях в зависимости от ситуации. Использование протокола TCP позволило бы отправлять сообщения о событиях клиентам без необходимости опроса, гарантируя, что сообщения доставляются очень быстро.

Я не могу не думать, что такая вещь уже существует ... Кто-нибудь знает о чем-то подобном, или есть какие-либо советы о том, как это лучше всего реализовать?

1 Ответ

1 голос
/ 25 мая 2010

На фундаментальном уровне, MSMQ , предоставляет этот вид услуг, хотя и без аккуратной модели программирования, которую имеет Event Aggregator. Двигаясь вверх по стеку, WCF может использовать MSMQ в качестве транспорта для своих сообщений и предоставляет более простой в использовании API.

Также взгляните на различные среды шины сообщений, которые существуют в .Net:

Коротко говоря, служебная шина Rhino выглядит наиболее вероятной для предоставления опыта, аналогичного агрегатору событий.

...