ASP.NET 2.0 – 如何使用app_offline.htm

我已经阅读了关于app_offline.htm文件,它可以放在.NET 2.0应用程序的根目录下,这个应用程序本质上将closures应用程序,并禁止请求任何其他页面。

我已经把文件放在根目录下,我的网站仍然加载。 我进入IIS中的默认文件,并将其设置为app_offline.htm和网站仍然加载(虽然这可能是一个caching问题)

无论如何,有人遇到问题使用这个? 难道我做错了什么?

我已经使用了非常方便的app_offline.htm技巧closures/更新过去的网站没有任何问题。

确保您实际上将“app_offline.htm”文件放在您在IIS中configuration的网站的“根目录”中。

还要确保该文件的名称完全按照它应该是: app_offline.htm

除此之外,应该不需要对IIS进行其他更改,因为此文件(具有此特定名称)的处理由ASP.NET运行时处理,而不是IIS本身处理(适用于IIS v6)。

但是,请注意,尽pipe将此文件放在网站的根目录下,将会强制应用程序“closures”并显示“app_offline.htm”文件本身的内容,但任何现有的请求仍然会得到真实的网站给他们。 只有新的请求才能获得app_offline.htm内容。

如果您仍然遇到问题,请尝试以下链接了解更多信息:

Scott Gu的App_Offline.htm

App_Offline.htm并解决“IE友好错误”function

app_offline.htm会停止当前的请求还是只是新的请求?

确保你的app_offline.htm文件至less有512字节长。 零字节app_offline.htm将不起作用。

更新: ASP.NET / IIS的新版本可能比我第一次写这个时更好。

更新2:如果您正在使用ASP.NET MVC,请将以下内容添加到web.config中:

 <?xml version="1.0"?> <configuration> <system.webServer> <modules runAllManagedModulesForAllRequests="true" /> </system.webServer> </configuration> 

请注意,这在IIS 6和7.x以及.NET 2,3和4.x上的performance相同。

另外请注意,当app_offline.htm存在时,IIS将返回这个http状态码:

 HTTP/1.1 503 Service Unavailable 

这是全部devise。 这可以让你的负载平衡器(或其他)看到服务器脱机。

可能的权限问题

我知道这个post是相当老,但我遇到了类似的问题,我的文件拼写正确。

我最初创buildapp_offline.htm文件在另一个位置,然后将其移动到我的应用程序的根目录。 因为我的设置,我有一个权限问题。

该网站的行为,如果它不在那里。 在根目录下创build文件而不是移动它,解决了我的问题。 (或者你可以修复属性 – >安全性的权限)

希望它可以帮助别人。

确保app_offline.htm位于IIS中虚拟目录或网站的根目录下。

我遇到了一个与原来的问题非常相似的问题,这个问题花了我一点时间来解决。

只要有人正在处理一个MVC应用程序,并find他们的方式进入这个线程,请确保您有一个通配符映射到相应的.net aspnet_isapi.dll定义。 只要我这样做,我的app_offline.htm开始按预期行事。


IIS 6configuration步骤

在IIS应用程序属性上,select虚拟目录选项卡。

在应用程序设置下,单击configurationbutton。

在通配符应用程序映射下,单击插入button。

inputC:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll,单击确定。

确保文件扩展名在浏览器中是可见的,而文件名实际上是

app_offline.htm

app_offline.htm.htm