выполнить запланированное задание в C # - PullRequest
2 голосов
/ 10 января 2012

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

Мне было интересно, что может бытьхороший способ сделать это в .net

Я работаю над премией VS2010, c # 4.0

Ответы [ 7 ]

2 голосов
/ 10 января 2012

Вот хороший пример для записи запланированных задач в .NET

2 голосов
/ 10 января 2012

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

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

2 голосов
/ 10 января 2012

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

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

Запуск приложения в фоновом режиме для такой простой задачи не выглядит хорошим способом решения этой задачи. Есть слишком много способов остановить приложение.

2 голосов
/ 10 января 2012

Это зависит от ваших требований.

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

1 голос
/ 10 января 2012

Вам нужно написать это в .net?

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

1 голос
/ 10 января 2012

.Net было бы хорошо для этого.Я предлагаю написать консольное приложение, которое будет делать то, что вам нужно, и использовать Windows Task Scheduler для запуска приложения с выбранным интервалом.

0 голосов
/ 26 августа 2013

Если вы хотите выполнить эту процедуру отправки электронной почты в веб-среде (ASP.Net), вы можете использовать ATrigger службу планирования.Библиотека .Net также доступна для создания запланированных задач без накладных расходов.

Отказ от ответственности: я в их команде.

...