asp.net网站执行周期性任务的简易解决方法

王朝学院·作者佚名  2009-12-01  
宽屏版  字体: |||超大  

这个简易方法,取经自:http://www.qumiao.com

以下是Global.asax文件的内容。

<%@ Application Language="C#" %>

<%@ Import Namespace="System.Timers" %>

<%@ Import Namespace="System.Net" %>

<script runat="server">

protected void Application_Start(object sender, EventArgs e) {

//每5秒执行一次周期任务

Timer myTimer = new Timer(5000);

myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);

myTimer.Enabled = true;

myTimer.AutoReset = true;

}

protected void Application_End(object sender, EventArgs e) {

//下面的代码是关键,可解决IIS应用程序池自动回收的问题

//这里设置你的web地址,可以随便指向你的任意一个aspx页面甚至不存在的页面,

//目的是要激发Application_Start

System.Threading.Thread.Sleep(1000);

WebRequest.Create("http://localhost/").GetResponse();

}

void myTimer_Elapsed(object source, ElapsedEventArgs e) {

try { CycleTask(); } catch {}

}

void CycleTask() {

//在这里写你需要执行的周期性任务

}

</script>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有