Оптимальное архитектурное решение - PullRequest
3 голосов
/ 29 января 2010

Я создаю приложение, которое (в настоящее время) состоит из одного веб-приложения (ASP.NET MVC) и двух консольных приложений.

Веб-приложение - это просто пользовательский интерфейс. Первое консольное приложение - это служба, которая запускается с заданным интервалом и очищает несколько веб-страниц. Второе консольное приложение отвечает за отправку информации из моего «Загрузчика» по почте. Мои консольные приложения запускаются на разных компьютерах. Пользовательский интерфейс просто отображает результат из загрузчика.

Процедура такая:

Когда пользователь добавляет URI для очистки в пользовательском интерфейсе, URI сохраняется в таблице SQL Server. Мой «загрузчик» затем выбирает все uris, очищает их и вставляет в таблицу результатов и таблицу очереди сообщений. Мой «Отправитель почты» затем выбирает все строки из таблицы очереди сообщений и отправляет информацию пользователю.

Это «оптимальное» решение, или я могу оптимизировать его каким-либо образом? Я нахожу это довольно трудно поддерживать прямо сейчас. Может быть, я могу использовать WCF для прямой связи между моими приложениями?

Причина того, что консольные приложения запускаются на разных компьютерах, заключается в том, что «Загрузчик» должен быть подключен к VPN, с которой я не могу отправлять почту.

Ответы [ 2 ]

3 голосов
/ 02 февраля 2010

Вы можете использовать NServiceBus для отправки сообщений между службами и веб-приложением.

0 голосов
/ 05 февраля 2010

Создайте сервер WCF с очередью сообщений RabbitMQ внизу. http://www.rabbitmq.com/dotnet.html

Это может дать вам замечательную производительность и постоянство сообщений при желании.

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