【问题标题】:If I start a thread in the application startup process, will it keep running?如果我在应用程序启动过程中启动一个线程,它会一直运行吗?
【发布时间】:2012-02-08 14:16:26
【问题描述】:

如果我在 ASP .NET 中我的 Web 应用程序的 Application_Startup 事件中启动一个线程,并且它包含一个无限循环,它也使用睡眠方法执行一些后台工作,假设没有异常发生,它会继续永远运行吗?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    。不,因为如果一段时间内没有请求进入,IIS 可能会关闭您的 AppDomain。

    在共享主机环境中,您无法更改 appdomain 设置,但您可以访问服务器,这可以通过更改默认时间来完成。

    【讨论】:

    • ...但我想补充一点,如果您可以控制设置,它将永远持续(或您所做的设置)
    【解决方案2】:

    简短回答:是的

    我在我的应用程序中有相同的东西来做一些清理工作。

    编辑: 但 Jani 也是对的:如果应用程序关闭,线程也会停止,但如果您有保持应用程序活动的请求(或以这种方式在 IIS/Mono 下配置应用程序 - 请参阅HERE),它将运行。

    【讨论】:

      猜你喜欢
      • 2016-10-01
      • 1970-01-01
      • 2011-03-27
      • 2020-11-09
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      相关资源
      最近更新 更多