首页  ·  知识 ·  云计算
解决IIS应用池回收造成Application_Start中定时执行程序停止的问
网友     综合  编辑:dezai   图片来源:网络
最近在做一个项目,需要在程序中定时不断的执行某些操作,结果发现每天7,8点过后到第二天9点,定时程序经常都没有在执行,后来才知道由于IIS的应用
最近在做一个项目,需要在程序中定时不断的执行某些操作,结果发现每天7,8点过后到第二天9点,定时程序经常都没有在执行,后来才知道由于IIS的应用池回收导致Application停止,而这段时间又没有人再次访问网站,结果在Application_Start中的定时执行程序代码就没有再执行,在网上搜索一番,找到了解决办法,现和大家一起分享交流,原理就是在应用程序结束时发出一个Web请求访问网站,启动Application_Start。

void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码

//解决应用池回收问题
System.Threading.Thread.Sleep(5000);
string strUrl = "网站地址";

System.Net.HttpWebRequest _HttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl);
System.Net.HttpWebResponse _HttpWebResponse = (System.Net.HttpWebResponse)_HttpWebRequest.GetResponse();
System.IO.Stream _Stream = _HttpWebResponse.GetResponseStream();//得到回写的字节流
}

本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读