Запланированная почта в asp.net
Хай, ребята, Мое приложение имеет дело с запланированной почтовой концепцией (то есть) каждое утро в 6 часов утра. Мои пользователи получают оставшуюся почту о своей деятельности за день... Я не знаю, как это сделать.... Многие сказали, что используют службу Windows, но я буду разместить свой веб-сайт на общем сервере, я не могу получить права на обслуживание Windows... Есть ли dll для отправки почты в запланированное время через приложение asp.net... пожалуйста, помогите мне, ребята......
4 ответа
Мы просто создали объект кеша, срок действия которого истекает каждые 24 часа. Инициализируйте его в global.asax. Вы можете установить метод обратного вызова для выполнения пакетной обработки. Убедитесь, что когда это будет сделано, он снова заполнит кэш фиктивным объектом, который будет вызывать обратный вызов через 24 часа.
В ASP.NET нет встроенного планировщика, но есть способы запуска фоновых потоков даже в веб-приложении. Тем не менее, я бы посоветовал сделать это проще и сделать так, чтобы веб-страница электронной почты отправляла электронные письма по требованию. Затем вы можете запланировать задачу с любого компьютера, чтобы посетить эту веб-страницу. Возможно, вы захотите защитить почтовое приложение с помощью некоторой формы аутентификации, чтобы избежать злоупотребления системой, когда хакеры могут вызывать почтовый сервер.
Это имеет дополнительный побочный эффект (преимущество) в том, что запланированное задание всегда выполняется в вашем часовом поясе.
Есть несколько решений, но все они далеко не идеальны для вашей ситуации (потому что вы хотите это на общем хосте). Я настоятельно рекомендую вам перейти на виртуальный хостинг, если это возможно, чтобы вы могли использовать планировщик Windows. Есть хосты, которые предлагают очень дешевые планы виртуального хостинга (от 40 долларов).
Если это невозможно, вы можете использовать фоновую ветку, как предложено в предыдущем ответе. Вы также можете периодически заходить на страницу вашего сайта, например, с помощью службы мониторинга сайта. Оба решения не очень надежны, но, боюсь, у вас не так много вариантов с общим хостом.
Изменить: я думаю, что некоторые общие хосты предлагают вам запланированные задачи в своей панели управления, я помню, я видел это с некоторыми хостами некоторое время назад. Ну, в этом случае вы можете найти хост, который предлагает эту услугу, и проблема решена, это не должно быть очень сложно с небольшим поиском.
Я не уверен, сможете ли вы это сделать или нет, учитывая среду хостинга, но вам определенно стоит поискать Quartz.NET для такого рода вещей. Вы создаете задание и планируете его выполнять в 6:00 утра каждое утро. Это довольно впечатляющий инструмент, в целом.