在Application_Start启动后台线程,N天没人访问网站的话,感觉后台线程会停掉....
如果后台线程真的会停掉有没什么好的解决办法?
后台线程的代码是类似于这样的,理论上是不可能停掉的: public static void ThreadStart()
{
while (true)
{
Thread.Sleep(interval);
//.......
}
}
如果后台线程真的会停掉有没什么好的解决办法?
后台线程的代码是类似于这样的,理论上是不可能停掉的: public static void ThreadStart()
{
while (true)
{
Thread.Sleep(interval);
//.......
}
}
解决方案 »
- 新手请教 asp.net中 如何使用Response.Write 在固定位置输出
- 请教关于 $.getJSON提交aspx文件的知识 谢谢
- MSSQL转mySQL语法问题,分再加
- ASP.Net GridView模板列有问题!!!!!
- 我机器装了IE7 BETA3后原来的VS2003就不能调试了,怎么办?
- 【求助啊】treeview在本地和一台服务器上默认图片显示正常,但在另一个不正常
- 学习ADO.NET的资料请大家给一点我好吗?小弟急需要这份资料!
- 一个简单的字符串截取
- 文件“/csharp/app_Code/img.cs”位于特殊目录“app_Code”中,
- 关于DataTable的问题.
- fileupload上传文件过大无法显示网页问题
- js 跨域访问 iframe 拒绝访问???
protected void Application_Start(Object sender, EventArgs e)在这里面开线程开线程的代码最好放在一个单例里,这样可以确保只开一个线程,只要线程不出错,这个线程会一直继续下去啊,跟有没有人访问你的网站毫无关系的
被停掉的原因是你这个IIS重启了所以重启以后需要有一个人访问下你的站点,才会执行protected void Application_Start(Object sender, EventArgs e)
application_end只是一个触发事件的状态改变,你的后台线程可能早就停了(如果任务已完成的话)
你可以在while(true)里面加上try catch试试
在IIS启动前台线程也会自动回收IIS程序池