【发布时间】:2012-02-08 14:16:26
【问题描述】:
如果我在 ASP .NET 中我的 Web 应用程序的 Application_Startup 事件中启动一个线程,并且它包含一个无限循环,它也使用睡眠方法执行一些后台工作,假设没有异常发生,它会继续永远运行吗?
【问题讨论】:
如果我在 ASP .NET 中我的 Web 应用程序的 Application_Startup 事件中启动一个线程,并且它包含一个无限循环,它也使用睡眠方法执行一些后台工作,假设没有异常发生,它会继续永远运行吗?
【问题讨论】:
。不,因为如果一段时间内没有请求进入,IIS 可能会关闭您的 AppDomain。
在共享主机环境中,您无法更改 appdomain 设置,但您可以访问服务器,这可以通过更改默认时间来完成。
【讨论】:
简短回答:是的
我在我的应用程序中有相同的东西来做一些清理工作。
编辑: 但 Jani 也是对的:如果应用程序关闭,线程也会停止,但如果您有保持应用程序活动的请求(或以这种方式在 IIS/Mono 下配置应用程序 - 请参阅HERE),它将运行。
【讨论】: