在我的MVC应用程序有机会处理它之前,如何阻止IIS7推出自己的404?

Gar*_*ill 13 asp.net-mvc iis-7

我有一个ASP.NET MVC 2应用程序,它在global.asax中有一个Application_Error事件处理程序.在这里,我正在检测Exception类型是HttpException并且HTTP代码是404的情况,并重定向到我自己的404处理页面.

这在我的Cassini开发服务器上工作正常,但现在我正在尝试将其移动到具有IIS7的生产服务器(使用集成模式).

当我请求一个不存在的URL时,IIS7显示自己的404页面,据我所知,我的Application_Error方法永远不会被调用.

我该如何解决这个问题?

Fly*_*ynn 6

我在另一篇文章中回答: 在IIS7上托管的ASP.NET应用程序忽略了自定义错误并回退到IIS错误

"要禁用必须设置的IIS错误消息

  Response.TrySkipIisCustomErrors = true;
Run Code Online (Sandbox Code Playgroud)

在您的错误页面中.之后,您的错误消息应显示没有问题."


K.R*_*tra 5

您不能只关闭404 httpError吗?

    <httpErrors errorMode="Custom">
        <remove statusCode="404" subStatusCode="-1" />
    </httpErrors>
Run Code Online (Sandbox Code Playgroud)