2009-09-25 4 views
5

Я хочу иметь управляемую событиями архитектуру, где пользователь события (абонент/наблюдатель) и производитель событий (издатель/субъект) находятся над распределенной географией.Наблюдатель по сети

Есть ли что-то в .NET, которое передает события через сеть без необходимости вникать в реализацию транспортного механизма?

Я помню, как Juval Lowy рассказывал что-то о Enterprise Services в шоу DNR 2 года назад, но не может вспомнить, что это было.

Кто-нибудь знает, что я могу использовать из платформы .NET для этого?

ответ

6

Вы можете сделать это с помощью WCF и MSMQ. У Тома Холландера есть blog post on it.. Вы также можете посмотреть такие решения, как TIBCO. Если вам нравится open source, то стоит посмотреть и на RabbitMQ. Если вы ищете служебную шину, то mass transit также является вариантом с открытым исходным кодом. У Майка Хэдлоу есть blogged about it here.

+0

+1 для MSMQ. Это именно то, для чего предназначен MSMQ или ESB, поддерживающий pub/sub. – jrista

+0

Не слишком ли Тибко * излишний * для этого конкретного вопроса? – osij2is

+0

TIBCO - это икру сатаны. –

1

Есть ли что-то в .NET, который ретранслирует события по сети бесшовно без моего того, чтобы отвес в реализации транспортного механизма?

Я считаю, что именно здесь происходит .NET Remoting (link). Я не эксперт в этом, но похоже, что вы ищете.

В дополнение к удалению .NET, WCF (Windows Communication Foundation) (link) может быть лучше альтернатива Remoting. У меня есть некоторый опыт работы с WebServices и немного с WCF, но я бы изучил эти две технологии .NET.

+0

Remoting теперь считается устаревшим. Вместо этого следует использовать WCF. – RichardOD

+0

Я понял как таковой. Я никогда не использовал его, но я тоже не хотел его исключать. WCF WTF? :) – osij2is

+0

Реализация событий над Remoting считается плохой практикой. http://www.thinktecture.com/resourcearchive/net-remoting-faq/remotingusecases – ParmesanCodice

1

Это звучит как идеальную работу для системы Erlang ... или, возможно, использовать клиент AMCQ как RabbitMQ, нет?

1

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

Простой пример MSMQ: http://www.codeproject.com/KB/cs/mgpmyqueue.aspx

Смежные вопросы