iis App_Offline.htm无法关闭站点的可能原因是什么?

agxfikkp  于 2022-11-12  发布在  其他
关注(0)|答案(6)|浏览(202)

通常,我使用App_Offline.htm来使站点脱机,但有时候,当我这样做时,站点会挂起(例如:浏览器永远等待,服务器不给出任何响应 at all)。这似乎发生在一个可更新的网站上,当我改变了一些东西,比如一个控件,然后,当它不够快(网站挂起),我把App_Offline. htm放在网站的根目录下。
在大多数情况下,这会立即关闭我的网站。但偶尔不会。在这些情况下,我不能只是停止网站(当我重新启动时,行为继续)。停止应用程序池不会让我重新启动同一个应用程序池。到目前为止,唯一的两个解决方案是重新启动整个IIS Web服务。
我想防止这种情况发生。当发现App_Offline.htm时,这是否是IIS中的一个错误,而不是“中断所有操作”?我在Windows 2008 SP2 64位上使用IIS 7。

h9vpoimq

h9vpoimq1#

我发现我的web.config文件要么有错误,要么丢失了。在这种情况下,app_offline.htm不会得到处理。

bksxznpy

bksxznpy2#

IIS不应停止现有操作,而应仅阻止新请求通过:Will app_offline.htm stop current requests or just new requests?
这听起来像是您在描述一个场景,其中您更新了一个控件,试图加载一个页面,但IE却无法加载。此时,您放下了app_offline.htm,并希望立即看到该页面。
如果您在放置app_offline.htm后提出了一个完全独立的/新的请求,那么您应该会看到页面出现。但是,现有的请求不会受到上面链接的影响。
如果可能,请尝试在更改控件之前部署app_offline.htm文件。

j2cgzkjk

j2cgzkjk3#

我不确定您所说的 “停止应用程序池后无法重新启动同一个应用程序池” 是什么意思...如果您的意思是在停止应用程序池后无法立即重新启动它,那是因为它尚未停止。根据该池中的工作进程数,它可能需要一分钟的时间才能完全停止,以便接受启动命令。
此外,我认为您必须重新启动池,以便app_offline.htm无论如何都能有效工作。

5m1hhzi4

5m1hhzi44#

事情是这样的。每次当你在服务器上打开.sln,或者更新代码时,它都会在根目录下创建app_offline ticket。这是www.example.com本身的特性asp.net,用于防止任何访问干扰你的开发。
每次打开. sln后手动删除app_offline。
希望能帮上忙谢谢

mcdcgff0

mcdcgff05#

另一种可能是缺少处理程序。需要以下处理程序:

ExtensionlessUrlHandler-Integrated-4.0
polhcujo

polhcujo6#

要解决此问题,您至少需要:

  • 等待您的网站超时的长度,以确保所有请求都已完成。
  • 从Web请求开始的后台进程将意味着您等待的时间将进一步延长,超过网站超时时间
  • 通过挂钩到DomainUnload或Application_End事件来卸载任何非托管代码

我正在等待3分钟,以使App_Offline.htm生效,这似乎已允许App_Offline.htm按预期工作。

相关问题