我有一个web服务,它创建一个线程来在后台处理一些数据。我在我的一个日志中看到了一条"System.Threading.ThreadAbortException:线程正在被中止“的消息,其中线程被终止了。我目前的假设是线程将运行到执行它正在处理的任务所需的时间,然而,在谷歌了exeception之后,我已经看到几篇文章提到在web.config文件中增加应用程序的ExecutionTimeOut属性。我的问题是:
在ASP.NET中执行一个线程的最大执行时间是多少?此超时是无限制的,还是仍受应用程序的ExecutionTimeOut属性约束?
发布于 2010-05-11 00:56:10
这是一个类似的问题。
How to know who kills my threads
只要池运行的是,您就可以通过运行它。如果保持线程的池正在重新启动,那么它将等待所有线程退出,但是运行页面的web服务在此时停止工作,您就会遇到问题。另外,如果你已经设置了你的池,那么在池回收中,如果线程在一段时间后没有停止,它会杀死它。
在我的程序中,一个索引线程运行了超过26个小时,做着繁重的数据库工作,并且是静态函数。
https://stackoverflow.com/questions/2804454
复制相似问题