Web网站开后盾线程,后台线程能一直运行到网站停止吗
Web网站开后台线程,后台线程能一直运行到网站停止吗?在Application_Start启动后台线程,N天没人访问网站的
Web网站开后台线程,后台线程能一直运行到网站停止吗?
在Application_Start启动后台线程,N天没人访问网站的话,感觉后台线程会停掉....
如果后台线程真的会停掉有没什么好的解决办法?
后台线程的代码是类似于这样的,理论上是不可能停掉的:
C# code public static void ThreadStart() { while (true) { Thread.Sleep(interval); //....... } }
[解决办法]可以用别的方式实现。。类似。。服务
[解决办法]protected void Application_Start(Object sender, EventArgs e)
在这里面开线程
开线程的代码最好放在一个单例里,这样可以确保只开一个线程,
只要线程不出错,这个线程会一直继续下去啊,跟有没有人访问你的网站毫无关系的
[解决办法]没做过,可以试一下
如果没人访问,运行也没意思吧?
[解决办法]但是在后台开的这个线程,会在线程运行完成后自动关闭,就是如果他有事情做就会一直做,直到服务重启,
但是如果任务完成了,就会自动关闭线程了
[解决办法]被停掉的原因是你这个IIS重启了
所以重启以后需要有一个人访问下你的站点,才会执行protected void Application_Start(Object sender, EventArgs e)
[解决办法]那是你网站设置的问题,在IIS中把应用程序池设置成一段时间无请求不自动关闭.
[解决办法][解决办法]对 设置下IIS试试吧。
[解决办法]学习...up
[解决办法]lz的意思是不是用户开一个网页就打开一个线程,是不是这样啊
这样太恐怖了吧
[解决办法]路过 UP
[解决办法]貌似很耗性能滴。。。
[解决办法]如果线程运行过程中出错,可能会造成线程终止
你可以在while(true)里面加上try catch试试
[解决办法][解决办法]IIS里面设置一下
[解决办法]没有人访问20分钟IIS回收应用程序池,线程就没了。