【发布时间】:2013-12-08 23:00:29
【问题描述】:
我想在一个 Asp.net Web 应用程序中配置电子邮件调度程序,但我不知道如何实现。有谁知道我怎么能做到这一点?我只想在特定时间发送电子邮件。
【问题讨论】:
我想在一个 Asp.net Web 应用程序中配置电子邮件调度程序,但我不知道如何实现。有谁知道我怎么能做到这一点?我只想在特定时间发送电子邮件。
【问题讨论】:
您可以使用调度程序框架,例如Quartz.net。您可以在 Quartz.net 中创建作业并创建触发器。触发器在特定时间、一天、一个月、每晚等时间启动作业。您将使用 Cron 调度程序来安排您的作业(即触发器)。
【讨论】:
我认为最简单的方法是编写一个好的老式控制台程序,它在运行时发送电子邮件。然后,您只需使用调度程序在您想要的时间运行它。
【讨论】:
我使用下一个解决方案。
在您的 Global.asax 中将此行添加到 Application_Start 方法:
this.Application["Timer"] = new Timer(new TimerCallback(EMailProcessor.Process), null, 0, 60000);
您的 EMailProcessor 类可能如下所示:
public class EMailProcessor
{
public static void Process(object state)
{
// Your code here
}
}
希望这是你需要的。
UPD:这是可行的,因为 asp.net 应用程序是“真正的”应用程序,并且即使没有对服务器的请求也在运行。
【讨论】: