Я создаю приложение, которое (в настоящее время) состоит из одного веб-приложения (ASP.NET MVC) и двух консольных приложений.
Веб-приложение - это просто пользовательский интерфейс. Первое консольное приложение - это служба, которая запускается с заданным интервалом и очищает несколько веб-страниц. Второе консольное приложение отвечает за отправку информации из моего «Загрузчика» по почте. Мои консольные приложения запускаются на разных компьютерах. Пользовательский интерфейс просто отображает результат из загрузчика.
Процедура такая:
Когда пользователь добавляет URI для очистки в пользовательском интерфейсе, URI сохраняется в таблице SQL Server. Мой «загрузчик» затем выбирает все uris, очищает их и вставляет в таблицу результатов и таблицу очереди сообщений. Мой «Отправитель почты» затем выбирает все строки из таблицы очереди сообщений и отправляет информацию пользователю.
Это «оптимальное» решение, или я могу оптимизировать его каким-либо образом? Я нахожу это довольно трудно поддерживать прямо сейчас. Может быть, я могу использовать WCF для прямой связи между моими приложениями?
Причина того, что консольные приложения запускаются на разных компьютерах, заключается в том, что «Загрузчик» должен быть подключен к VPN, с которой я не могу отправлять почту.