在我的网络应用程序启动时,我有许多当前正在运行的线程并执行各种工作(例如释放数据库锁、监视用户等)。这些线程在我的 asp.net 应用程序中的 application_start() 事件上启动。
我担心的是如果应用程序池由于某种原因而死,这些线程将不会再次启动,直到向应用程序发出请求(即加载应用程序域等)。
我正在考虑每 10 分钟安排一次批处理(通过命令行和 vb 脚本)以发出 Web 请求,这将确保我的应用程序已经加载并运行(届时线程将启动)。
到目前为止,我还没有看到应用程序池崩溃的任何问题,因此这是一项预防措施。
我注意到我的应用程序池目前默认设置为 20 分钟回收。
我想知道这种方法是否正确,以后我不会引入任何其他问题。
我们正在使用 IIS 6,因此无法使用应用程序预热模块,我认为该模块不适用于应用程序池崩溃。