0

Будет отправлено электронное письмо из приложения по расписанию.Планировщик Windows ИЛИ SQL Server Задание для отправки электронных сообщений дайджеста

У меня есть MailController в моем приложении ASP.NET MVC с методами действий, по одному для каждого вида уведомлений/электронной почты, которые нужно будет вызывать в разное время в течение недели.

Вопрос: Планировщик Windows (работает на сервере Server 2008) лучше или хуже, чем планировать это с помощью задания SQL Server? И почему?

Благодаря

ответ

0

IMHO имея планировщик вызова в контроллер и выполнить методы действий, чтобы выпалить уведомления разработаны лучше. Мой процесс (лучше для худшего) таков:

  1. Поместите код, чтобы вызвать контроллер/действие в файле .vbs. Для метода действия требуется «код безопасности», который должен соответствовать значению в файле web.config, иначе он не будет выполняться (я думаю, что это уменьшит вероятность того, что какой-нибудь народ ударит по методу действия с помощью браузера и запустит уведомление о отправке код, когда он не должен запускаться).

  2. Создайте запланированную задачу в Планировщике, чтобы регулярно вызывать этот файл.

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

Во всяком случае, это работает. Единственная проблема, с которой я столкнулся, - это удар по https. Это не сработало, так как я считаю, что задача была поставлена ​​под сомнение, чтобы предоставить некоторые учетные данные (что не могло быть реализовано программно). Изменение его на http работал, и imo не создает каких-либо угроз безопасности.

Мысли? Лучший способ реализовать это? Мне бы очень хотелось услышать все, что угодно.

Thanks

0

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