3

我有一个 Web 服务,它创建一个线程来在后台处理一些数据。我在其中一个线程被杀死的日志中看到了“System.Threading.ThreadAbortException:线程被中止”消息。我目前的假设是只要执行它正在处理的任务,线程就会运行,但是在谷歌搜索异常之后,我看到几篇文章提到增加网络中应用程序的 ExecutionTimeOut 属性。配置文件。我的问题是:

在 ASP.NET 中执行的线程的最大执行时间是多少?此超时是无限制的还是仍受应用程序的 ExecutionTimeOut 属性约束?

4

1 回答 1

3

这是一个类似的问题。

如何知道谁杀死了我的线程

只要池正在运行,您就可以运行它。如果保持线程的池重新启动,那么它会等待所有线程退出,但是运行页面的 Web 服务此时停止工作,并且您遇到了问题。此外,如果您已经设置了池,那么如果线程在一段时间后没有停止,则在池中循环将其杀死。

在我的程序中,一个索引线程运行了超过 26 个小时,进行了艰苦的数据库工作,并且处于静态功能上。

于 2010-05-10T16:56:09.623 回答