代码之家  ›  专栏  ›  技术社区  ›  jamiecon

在中使用自定义错误设置时获取IIS7“一行”错误web.config文件

  •  5
  • jamiecon  · 技术社区  · 15 年前

    我有一个ASP.NETMVC应用程序,在不同的适当点返回404和500个状态码。

    Response.StatusCode = (int)HttpStatusCode.NotFound;
    

    当我设置其中一个状态代码时,我还适当地设置了TrySkipIisCustomErrors属性。

    Response.TrySkipIisCustomErrors = true
    

    我现在想做的是配置IIS来传递这些错误(我自己设置的),并捕获可能发生的任何其他错误(例如静态文件上的404,我不向其发送请求)ASP.NET, 或者我的应用程序中未捕获的500个错误(其中TrySkipIisCustomErrors属性可能不是由框架设置的)。

    <httpErrors existingResponse="Auto" errorMode="Custom">
    </httpErrors>
    

    这是我自己的ASP.NET设置tryskipiiscustomerros=true的错误,以及未捕获500s、静态文件404s等的标准IIS错误页。

    <httpErrors existingResponse="Auto" errorMode="Custom" defaultPath="/Skins/Shared/Error/Error.html" defaultResponseMode="ExecuteURL">
      <clear />
    </httpErrors>
    

    我想这是由于我的配置错误造成的,但我一辈子都不明白我做错了什么!

    <httpErrors existingResponse="Auto" errorMode="Custom" defaultPath="Skins\Shared\Error\Error.html" defaultResponseMode="File">
      <clear />
    </httpErrors>
    

    即使将重定向设置为完全不同的URL,也会产生相同的问题。

    http://blogs.iis.net/ksingla/archive/2008/02/18/what-to-expect-from-iis7-custom-error-module.aspx .

    顺便说一句,我不太确定我应该怎么处理这个问题系统.Web\自定义错误节点。这仅仅是IIS6的设置,还是与ASP.NET?目前我不包括在我的web.config文件.

    2 回复  |  直到 15 年前
        1
  •  1
  •   Khalid Abuhakmeh    13 年前

    <httpErrors existingResponse="PassThrough" />
    
        2
  •  1
  •   JPRO    12 年前

    我知道这是一个老问题,但它是相同的问题,我已经在过去几天,我刚刚发现了。对我有用的是:

    尝试删除

    <httpErrors>