我读到过app_offline.htm文件,它可以放在.NET 2.0应用程序的根目录下,这实际上会关闭应用程序并禁止请求任何其他页面。我把文件放在根目录下,我的网站仍然加载。我进入IIS中的默认文档并将其设置为app_offline.htm,网站仍然加载(尽管这可能是缓存问题)不管怎样,有人在使用这个的时候遇到过问题吗?我做错什么了吗?
app_offline.htm
fgw7neuy1#
我曾经使用过非常方便的app_offline.htm技巧来关闭/更新网站,没有任何问题。请确保您实际上是将“app_offline.htm”文件放置在您在IIS中配置的网站的“根”位置。还要确保文件的名称与其应有的名称完全相同:app_offline.htm除此之外,您应该不需要对IIS进行其他更改,因为此文件(具有此特定名称)的处理由ASP.NET运行时而不是IIS本身(对于IIS v6)处理。但是请注意,尽管将此文件放置在网站的根目录下会强制应用程序“关闭”并显示“app_offline.htm”文件本身的内容,但任何 * 现有 * 请求仍会获得真实的网站。只有 new 请求才会获取app_offline.htm内容。如果您仍然有问题,请尝试以下链接以获取更多信息:Scott Gu's App_Offline.htmApp_Offline.htm and working around the "IE Friendly Errors" featureWill app_offline.htm stop current requests or just new requests?
lnxxn5zx2#
确保您的app_offline. htm文件至少有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>
flvlnr443#
请注意,这在IIS 6和7.x以及.NET 2、3和4.x上的行为相同。还请注意,当app_offline.htm存在时,IIS将返回以下http状态代码:
HTTP/1.1 503 Service Unavailable
这都是设计好的。这允许您的负载平衡器(或其他)看到服务器离线。
ryoqjall4#
可能权限问题
我知道这篇文章是相当老,但我遇到了类似的问题,我的文件拼写正确。我最初在另一个位置创建了app_offline. htm文件,然后将其移动到应用程序的根目录。由于我的设置,我有一个权限问题。网站就像不存在一样。在根目录中创建文件而不是移动它,解决了我的问题。(或者你可以在属性->安全中修改权限)希望它能帮助某人。
bvjveswy5#
确保app_offline.htm位于IIS中虚拟目录或网站的根目录下。
iqjalb3h6#
确保文件扩展名在资源管理器中可见,并且文件名实际上是app_offline.htm不app_offline.htm.htm
app_offline.htm.htm
wtzytmuj7#
我遇到了一个与最初的问题非常相似的问题,我花了一点时间才解决。如果其他人正在处理MVC应用程序并找到了进入此线程的方法,请确保您定义了到适当的.Net aspnet_isapi. dll的Map。当我这样做的时候,我的app_offline.htm开始按预期运行。
在IIS应用程序属性上,选择虚拟目录选项卡。在“应用程序设置”下,单击“配置”按钮。在“通配符应用程序Map”下,单击“插入”按钮。输入C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll,单击确定。
7条答案
按热度按时间fgw7neuy1#
我曾经使用过非常方便的app_offline.htm技巧来关闭/更新网站,没有任何问题。
请确保您实际上是将“app_offline.htm”文件放置在您在IIS中配置的网站的“根”位置。
还要确保文件的名称与其应有的名称完全相同:
app_offline.htm
除此之外,您应该不需要对IIS进行其他更改,因为此文件(具有此特定名称)的处理由ASP.NET运行时而不是IIS本身(对于IIS v6)处理。
但是请注意,尽管将此文件放置在网站的根目录下会强制应用程序“关闭”并显示“app_offline.htm”文件本身的内容,但任何 * 现有 * 请求仍会获得真实的网站。只有 new 请求才会获取app_offline.htm内容。
如果您仍然有问题,请尝试以下链接以获取更多信息:
Scott Gu's App_Offline.htm
App_Offline.htm and working around the "IE Friendly Errors" feature
Will app_offline.htm stop current requests or just new requests?
lnxxn5zx2#
确保您的app_offline. htm文件至少有512字节长。零字节的app_offline.htm将不起作用。
**更新:**较新版本的ASP.NET/IIS可能比我第一次写这篇文章时表现得更好。
**更新2:**如果您使用的是ASP.NET MVC,请在web.config中添加以下内容:
flvlnr443#
请注意,这在IIS 6和7.x以及.NET 2、3和4.x上的行为相同。
还请注意,当app_offline.htm存在时,IIS将返回以下http状态代码:
这都是设计好的。这允许您的负载平衡器(或其他)看到服务器离线。
ryoqjall4#
可能权限问题
我知道这篇文章是相当老,但我遇到了类似的问题,我的文件拼写正确。
我最初在另一个位置创建了app_offline. htm文件,然后将其移动到应用程序的根目录。由于我的设置,我有一个权限问题。
网站就像不存在一样。在根目录中创建文件而不是移动它,解决了我的问题。(或者你可以在属性->安全中修改权限)
希望它能帮助某人。
bvjveswy5#
确保
app_offline.htm
位于IIS中虚拟目录或网站的根目录下。iqjalb3h6#
确保文件扩展名在资源管理器中可见,并且文件名实际上是
app_offline.htm
不
app_offline.htm.htm
wtzytmuj7#
我遇到了一个与最初的问题非常相似的问题,我花了一点时间才解决。
如果其他人正在处理MVC应用程序并找到了进入此线程的方法,请确保您定义了到适当的.Net aspnet_isapi. dll的Map。当我这样做的时候,我的app_offline.htm开始按预期运行。
IIS 6配置步骤
在IIS应用程序属性上,选择虚拟目录选项卡。
在“应用程序设置”下,单击“配置”按钮。
在“通配符应用程序Map”下,单击“插入”按钮。
输入C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll,单击确定。