2012-05-21 2 views
1

У меня есть веб-приложение (asp.net mvc3, .net 4), и я пытаюсь внедрить службу уведомлений по электронной почте.ASP MVC3, служба уведомления по электронной почте

В принципе, есть таблица с датой/контентом и пользователем для отправки электронной почты, , и когда мы дойдем до этого дня в таблице, я хочу отправить уведомление по электронной почте.

Я не уверен, как это должно быть реализовано, должен ли быть какой-то фон поток, который постоянно проверяет базу данных? Я чувствую, что это будет неэффективно.

Можете ли вы предложить несколько способов сделать это?

ответ

3

Вам потребуется обслуживание или запланированного задание, которое работает на системе где-то (я делал это раньше, я хостинг, и написал небольшое приложение, которое я планировал периодически запускать на своем домашнем компьютере). Вы можете либо выполнить этот процесс для уведомлений, либо нажать на действие на своем контроллере, что вызовет их отправку.

Похоже, что получение запроса на обслуживание вашей базы данных и отправка уведомлений - это самый прямой маршрут. Однако есть несколько причин, по которым действие в вашем приложении MVC может быть более уместным, например, отсутствие удаленного доступа к базе данных или SMTP-серверу.

Вы можете назначить задание для выполнения приложения (например, консольного приложения или, возможно, CURL) с помощью планировщика задач Windows или подобных. Или вы можете использовать что-то вроде Quartz.net, чтобы создать свой собственный сервис для выполнения заданий.

0

Это неправильный подход. Вы должны создать консольное приложение и периодически запускать его с помощью встроенной задачи планировщика.

В качестве дополнительной ссылки, пожалуйста, посмотри на this сообщению от Ayende Rahien

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