asp.net是否可以关闭应用程序创建的线程?

问题描述:

线程将在每个Application_Start事件上启动。asp.net是否可以关闭应用程序创建的线程?

这将是一个监控线程,应该不断运行。

因此,即使应用程序关闭,一旦重新启动该线程将开始太确保它运行所有的时间。

但是,我需要确保该线程不会停止/关闭,而应用程序是运行

所以几句话,没有任何人知道,如果asp.net可以关闭这样一个线程没有actualy停止/重新启动应用程序。

作为设计的问题,你不应该依赖于asp.net来运行这样的线程。应用程序回收等小事可能会造成很多麻烦。

相反,创建一个windows服务来执行该线程。这样你就不必担心它。

更新
我只是想补充一点信息。

IIS有能力跨多个线程和进程执行您的应用程序。一个标准的站点安装通常只有一个进程(aka:web garden),它分配了大约20个线程来处理请求处理。

但是,任何IIS管理员都可以轻松地将更多进程添加到组合中。他们通常会这样做,因为请求处理时间过长或处理程序线程数量不足,或者作为一种临时措施,如果应用程序具有足够的问题以致单个线程将软管整个进程过程相当频繁。

如果您有关于应用开始被旋转的线程,那么它会创建一个每个工作进程的网站有。这对您或您的继任者来说可能是意想不到的行为。

另外,监视应用程序几乎总是完全独立于它们正在监视的应用程序。主要原因之一是,如果受监视的进程死亡,挂起或以其他方式变得无响应,那么监视应用程序本身仍然需要继续并记录此信息。否则,受监控的流程可能会很好地监控应用程序本身。

因此,请帮助自己一个忙,并将其转移到自己的过程中。在IIS服务器上执行此操作的最佳方法是创建一个Windows服务并为其提供适当的执行权限以执行所需的操作。