Отправка напоминаний по истечении срока
Я хочу создать приложение, которое отправляет напоминания (SMS или электронная почта) пользователям, чьи элементы, как в рабочем процессе, скоро истекают или просрочены. Обычный способ - опросить базу данных после срабатывания таймера и вычислить, если что-то должно, и сообщить об этом интимным пользователям.
Есть ли другой способ лучше, чем этот механизм опроса?
РЕДАКТИРОВАТЬ:- Хорошо для планирования я пойду с планировщиком Quartz.net.
2 ответа
Если вы ищете чистое решение ASP.NET, вы можете использовать механизм истечения срока действия кэша. Вставьте элемент в Cache с установленной датой / временем истечения срока действия и передайте функцию обратного вызова, которая будет вызываться по истечении срока действия элемента.
Если вы хотите получать уведомления с точностью до секунды, вы можете сделать что-то экстремальное, например, использовать оркестровку BizTalk для создания длительной транзакции, которая запустит таймер обратного отсчета с нуля с этого момента до получения напоминания. BizTalk может отправлять электронную почту через SMTP.
Но если ваши потребности не так требовательны, и, если честно, использование SMS/ электронной почты в любом случае не гарантированно доставит вовремя, я бы (и в прошлом) использовал более простой подход и использовал запланированный опрос базы данных, предложенный Raciel Р.