【发布时间】:2010-08-23 07:05:45
【问题描述】:
通常,我使用App_Offline.htm 使网站脱机。但有时,当我这样做时,网站就会挂起(例如:浏览器永远等待,服务器没有响应根本)。当我更改某些内容(例如控件)时,这似乎发生在可更新站点上,然后,当它运行得不够快(站点挂起)时,我将 App_Offline.htm 放在网站的根目录中。
在大多数情况下,这会立即关闭我的网站。但有时它不会。在这些情况下,我不能只是停止网站(当我重新启动时,行为会继续)。停止应用程序池不会让我重新启动同一个应用程序池。到目前为止,唯一的两个解决方案是重新启动整个 IIS Web 服务。
我想防止这种情况发生。当找到App_Offline.htm 时,这是 IIS 中的错误而不是“破坏所有操作”吗?我使用 IIS 7 和 Windows 2008 SP2 64 位。
【问题讨论】:
-
你有打开的线程和数据库访问权限吗?
-
@Aristos:我不会手动打开线程,但当然,任何 Web 应用程序都有多个线程。是的,我有数据库访问权限。在这个特定的站点中,连接集中在一个(线程安全的)单例中,并且通过 NHibernate 检索数据。但我的印象是 App_Offline.htm 应该强制取消 所有 线程,不是吗?
-
就在一分钟前,遇到了完全相同的情况:我更换了一个 DLL,站点需要永远响应,app_offline.htm 不起作用并且关闭站点需要一些时间(但有帮助)。
-
@Abel 是的,线程是强制停止的 - 我现在只是进行测试,它们强制停止。
-
@Abel 要检查的一点是 global.asax 上的 Application_End
标签: asp.net iis windows-server-2008-r2 app-offline.htm