Планировщик Windows ИЛИ задание SQL Server для рассылки сводных электронных писем

StackOverflow https://stackoverflow.com/questions/2008198

Вопрос

Будет рассылка электронных писем из приложения по расписанию.

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

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

Спасибо

Это было полезно?

Решение

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

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

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

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

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

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

Спасибо

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top