Отправить событие Email Напоминание asp.net mvc - PullRequest
0 голосов
/ 15 августа 2011

я не использую планировщик событий, просто asp.net mvc и должен отправить напоминание за 4 дня до события.У меня есть дата сохранения события (Event_Start), не могли бы вы помочь?

Я создал класс в контроллере public void Reminder (), но теперь я застрял

Ответы [ 4 ]

0 голосов
/ 27 декабря 2011

вы можете использовать http://quartznet.sourceforge.net/ для функции проверки события запуска.это очень просто, и для этой задачи не требуется Windows Scheduled Task.

0 голосов
/ 15 августа 2011

Ваш метод Reminder () будет выполнять работу по отправке электронных писем для тех событий, у которых 4 выходных дня, согласно элементам, которые вы получаете из базы данных.Вы можете использовать класс System.Net.Mail.SmtpClient для фактической отправки электронных писем.

Более сложная задача состоит в том, как инициировать выполнение пути один раз в день.Другие опасения заключаются в том, что фактическая отправка может занять некоторое время и может истечь, если вы не позаботитесь о разрешенном времени запроса в web.config.

Для этих видов деятельности может быть проще простосоздайте консольное приложение и сделайте так, чтобы оно запускалось через ежедневную запланированную задачу Windows на сервере.

Вот предыдущее обсуждение вопроса о том, как выполнить его в MVC: Отправка электронной почты в фоновом режиме .

0 голосов
/ 15 августа 2011

Вы могли бы потенциально создать страницу, которая определяет, что нужно отправлять и отправлять, используя System.Net.Mail.Затем создайте простой пакетный файл, который регулярно посещает эту страницу (расписание может обрабатываться с помощью запланированных заданий Windows).

Если вы абсолютно не хотите создавать что-то, что может работать как служба или запускаться как запланированноезадание, тогда другой вариант - использовать срок действия кэша в качестве планировщика заданий.Люди уже давно занимаются этим с ASP.NET.Статья старая, но все равно должна работать нормально:

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

0 голосов
/ 15 августа 2011

Вероятно, вам лучше воспользоваться службой планировщика, чтобы позвонить / посетить страницу «Напоминание» в указанное время.например, http://mysite/Reminder/SendEmails/EventId. Вы можете обрабатывать отправку электронной почты из вашего контроллера.

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