Система сообщений в .net - PullRequest
       12

Система сообщений в .net

1 голос
/ 30 января 2010

У нас есть приложение брокера сообщений на Java, которое принимает сообщения (XML). Он проверяет XML на соответствие XSD, вызывает веб-службу .net и передает проверенный XML.

У нас есть требование сделать то же самое в .net. Есть ли у нас какие-либо API для этого. Я ищу систему, которая позаботится о ведении журнала в случае ошибок или какого-либо журнала активности. Предназначена ли для этого задача Windows Work Foundation?

Любые предложения с благодарностью.

Спасибо

Ответы [ 3 ]

1 голос
/ 30 января 2010

Поскольку у вас уже есть веб-служба, могу ли я предположить, что вы используете WCF? WCF - это система обмена сообщениями; см. это руководство о том, как настроить его для использования MSMQ. Это дает вам всю надёжность хорошо протестированной системы обмена сообщениями без каких-либо накладных расходов - корреляция сообщений, обработка вредоносных сообщений и т. Д.

Скорее всего, ваша архитектура будет выглядеть так:

Клиент ---> Служба валидации ---> Бизнес-сервис

Где «служба проверки» - это то, о чем мы здесь говорим, и что будет настроено для использования ReliableMessaging (с использованием MSMQ).

Очевидно, что ваша служба WCF может делать все, что вы хотите. Лично я бы посоветовал log4net , он хорошо поддерживается и снимает большую часть скуки.

1 голос
/ 30 января 2010

WWF мог бы сделать это, но вы, вероятно, были бы более довольны только стандартным Windows Servic.

Класс XSD из пространства имен System.XML обеспечит проверку и будет просто ссылаться на веб-сервис в качестве веб-ссылки в вашем проекте для программного доступа к его методам.

Вы не объяснили, как это было получать / получать сообщения, но есть поддержка MSMQ, а также опроса портов.

0 голосов
/ 30 января 2010

Может быть .Net System.Messaging Пространство имен может вам помочь?
Попробуйте это вступление в MSMQ
Кроме того, использование Linq to XML сделает вашу обработку XML действительно простой.
Проверка XML с помощью LINQ to XML
Если вы не знакомы с LINQ to XML, посмотрите на это вступление

...