我必须处理用 .NET Framework 1.1 编写的遗留 ASP.NET 应用程序。在检查应用程序代码时,我发现了有趣的部分。应用程序在 Application_Start 事件处理程序 (Global.asax) 中启动自定义线程。该线程必须运行应用程序的整个生命周期。
很久以前我读到这不应该被使用,但我不记得为什么。这种应用程序设计存在哪些问题?线程崩溃时是否可以再次启动线程?崩溃是否会自动记录在某处(事件日志)?ASP.NET 运行时可以出于任何原因终止线程吗?
目前我对 AppPool 回收不感兴趣。它重新启动应用程序、所有会话并创建新线程。