我正在为我的办公室创建一个 Intranet 网页。
应用程序需要每 5 分钟下载一次 SMTP 电子邮件。(以及其他一些家务事)
我刚刚创建了一个通过 Windows 2008 R2 服务器在 IIS 上运行的 ASP.NET 网页。
我是否必须创建单独的 Windows 服务才能执行此操作?所以我只有 2 个程序,网页和 Windows 服务?
或者有更好的方法吗?
在 asp.net 网站上进行重复性操作的最简单方法是
System.Timers.Timer对象实例并将其保留在代码中的静态字段上(以防止垃圾收集)Elapsed事件并将您的重复任务放在那里public class Global : System.Web.HttpApplication
{
private static Timer timer;
protected void Application_Start(object sender, EventArgs e)
{
timer = new Timer(5 * 60 * 1000);
timer.AutoReset = true;
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
//Get our emails here
}
}
Run Code Online (Sandbox Code Playgroud)
没关系:
如果这真的很重要,请了解默认情况下,应用程序池配置为每天仅回收一次,并且即使没有流量也不会停止。
| 归档时间: |
|
| 查看次数: |
4467 次 |
| 最近记录: |