Http Error 503的自定义错误页面

Sto*_*orm 14 asp.net iis-7 http-status-code-503

我需要发送一个自定义错误页面,用于我的asp.net网站生成的503错误.我试图通过关闭应用程序池(不起作用)以及通过请求充满我的应用程序来模拟条件.即使IIS向我发送默认的503错误页面,即使我尝试在IIS和ASP.NET中为此错误代码设置自定义URL,它仍然会返回默认的503错误页面!

如果有人也能告诉我IIS发送的默认503错误页面在哪里,我将不胜感激.

Chr*_*nes 12

遇到同样的问题,但我只是设法在.NET应用程序中使用经典ASP保持页面为我们工作(我不确定它是否对apsx起作用):

  1. 确保在IIS中启用了Classic ASP.值得一读:http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx

  2. 创建一个名为Offline.asp的经典ASP文件,并将其放在网站的根目录中,其中包含以下内容:

    <%
    
    Response.Status = "503 Service Unavailable"
    Response.CacheControl = "no-cache"
    Response.AddHeader "Pragma", "no-cache"
    Response.Expires = -1
    
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <meta name="robots" content="noindex,nofollow" />
            <title>Sorry, we're down for essential maintenance</title>
        </head>
        <body><h1>Sorry, we're down for essential maintenance</h1></body>
    </html>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 现在在IIS7管理器中转到错误页面管理部分,添加自定义错误页面,如下所示:

    错误页面

    添加自定义错误页面

    错误页面

现在,只要IIS收到503,它就会将Offline.asp的内容发送到浏览器,以及503代码(这很重要,这样搜索引擎就不会列出您的错误页面!)

现在,如果您想使应用程序脱机,您可以设置一个简单的重定向规则,将所有内容重定向到Offline.asp.

  • 当应用程序池停止时,这不起作用.我不确定如果应用程序池被重载它是否会起作用,因为当你需要它时很难重新创建那个条件. (7认同)

mik*_*son 9

您无法自定义默认的503 Service Unavailable错误消息.当应用程序池由于某种原因不可用时,通常会返回此信息.

这种情况的描述表明它直接来自http.sys,而互联网上的一切似乎都认为它无法改变.我查看了http.sys注册表设置,那里没什么用处.

http://technet.microsoft.com/en-us/library/cc781893(WS.10).aspx


Sky*_*ers 4

看一眼HttpContext.Current.Response.TrySkipIisCustomErrors。只是一个建议。