Если бы мне нужно было запустить какой-то код, возможно, отправить электронное письмо каждые 30 дней пользователям моего сайта, как это сделать?C# запускать код каждые 30 дней
ответ
Какие рамки вы работаете с? У меня есть некоторые указатели, если вы работаете с .Net 4.0, как и я.
Если у вас есть доступ к вашей машине, где вы можете установить службы, я бы использовал новую и улучшенную службу Workflow для этой ситуации. Что приятно в них, так это то, что Workflows может сохраняться в течение минут, часов, дней, недель, месяцев и т. Д., Лежащих «бездействующими», до тех пор, пока не завершатся периоды времени задержки.
Если это машина IIS (и если это маршрут, который вы хотели бы принять), то относительно просто построить его прямо как проект/решение «Workflow Service» в VS 2010. Оттуда вы будете представлены дизайнером и несколько действий рабочего процесса на панели инструментов.
Добавить операцию блок-схемы, чтобы поместить ваши действия электронной почты внутри. Блок-схема идеальна, потому что она может инициализировать все, что вам нужно, и поток решений может перенаправлять назад в направлении (в отличие от активности всегда движущейся последовательности). То, что вам нужно сделать с вашей логикой, зависит от вас, потому что ваш вопрос не содержит много деталей.
Теперь, если вы используете .Net 3.5, я бы подумал о том, чтобы воздерживаться от создания Workflow, поскольку вам нужно выполнить миграцию при переключении на 4.0 (WF 3.5 НЕ совместим с 4.0). При доступе администратора к компьютеру вы можете установить службу Windows, которая содержит таймер, чтобы загореться кодом каждые 30 дней (или, тем не менее, определено) по мере необходимости.
Используйте Windows Task Scheduler для запуска приложения.
Варианты:
1) Консоль приложение, которое работает в Windows Task Scheduler
2) службы Windows http://www.c-sharpcorner.com/UploadFile/mahesh/window_service11262005045007AM/window_service.aspx
Если это SQL Server, вы можете использовать SQL Jobs.
Если вы хотите сделать это с помощью ASP.NET приложения вместо отдельного приложения, у вас есть несколько вариантов:
Так как вы хотите его запустить через каждые 30 дней, а не ежедневно, я рекомендую этот метод использования таблица расписания вместо переменных приложения или кеша для планирования заданий:
Вы можете настроить таблицу расписания в своем db и проверить, когда она была обновлена в вашем global.asax. В начале сеанса проверьте, превышает ли текущая дата более 30 дней. Если это так, то вызовите метод отправки электронной почты.
Если вы отправляете электронные письма, обновите таблицу расписания с текущей датой.
- 1. Функция для запуска каждые 30 дней
- 2. Выполнять код каждые 30 секунд
- 3. Laravel Eloquent Update Каждые 30 дней
- 4. Android отправляет уведомления каждые 30 дней?
- 5. Триггер скрипта Google каждые 30 дней
- 6. php рассчитать последние сборы каждые 30 дней
- 7. C# создать цикл таймера, который запускает код каждые 30 минут?
- 8. Как сделать код запуска каждые 30 минут?
- 9. Напоминание пользователя каждые 30 дней для выполнения задачи в SharePoint
- 10. Как обновить таблицу с помощью триггера каждые 30 дней?
- 11. cron/wget - запускать страницу каждые 5 часов и 30 минут
- 12. Как заставить NetLogo запускать функцию каждые 30 минут
- 13. проверить процесс каждые 30 секунд в C++
- 14. Истекает до 30 дней
- 15. UILocalNotification каждые 30 секунд
- 16. C# 30 дней с сегодняшнего дня
- 17. Последние 30 дней данных
- 18. Mysql - Последние 30 дней
- 19. mysql и 30 дней
- 20. Получить месяц 30 дней
- 21. Расписание Exe каждые 30 минут
- 22. Запуск хрон каждые 30 секунд
- 23. запускать функцию каждые x секунд в C++
- 24. jQuery обновляется каждые 30 секунд
- 25. VBScript echo каждые 30 секунд
- 26. Hackerrank/30 дней с кодом/день 8
- 27. Удалить подкаталоги старше 30 дней
- 28. TestFlight Beta разрешает только 30 дней
- 29. JQuery за 30 дней запрос
- 30. получить день после 30 дней
Думаю, я собираюсь идти в этом направлении. Спасибо ... – Soeren
@Soeren, ключ здесь в том, что вы не можете надежно запускать событие из рабочего процесса asp.net/IIS. Вам нужен сервис Windows. – StingyJack