Можно ли вызвать действие MVC из службы Windows? - PullRequest
1 голос
/ 12 октября 2011

У меня есть приложение MVC, в котором пользователи могут отправлять большое количество электронных писем (каждое из которых настраивается, поэтому нет возможности массовой отправки). Вместо того, чтобы пользователь ждал этого, я ставлю электронные письма в очередь по расписанию. Я хотел бы, чтобы служба Windows периодически обращалась к моему приложению, чтобы вызвать электронные письма. Однако я действительно не хочу создавать новый проект веб-сервиса только для этого действия. Есть ли способ просто обернуть поведение в действие MVC и заставить службу вызывать это действие так же, как при вызове веб-службы (без необходимости запуска окна браузера)? Если нет, возможно ли разместить метод веб-службы внутри приложения MVC? Если это так, любые хорошие ссылки о том, как это сделать, будут с благодарностью. Мои поиски не были плодотворными.

Ответы [ 2 ]

3 голосов
/ 12 октября 2011

Конечно, вы можете просто выполнить GET на URL своего приложения MVC, используя класс WebClient .Что-то вроде:

string myUrl = "http://www.MySite.com/getemail";
WebClient wc = new WebClient();
string request = wc.DownloadString(myUrl);
1 голос
/ 12 октября 2011

Вы можете рассмотреть возможность использования срока действия кэша для запуска задачи, фактически выполняемой в вашем веб-приложении, что означает отсутствие необходимости в каком-либо внешнем процессе.http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

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