Application_Error并不总是触发ASP.NET

时间:2014-01-24 16:27:55

标签: asp.net http-status-code-404

我在我的网站上使用路由。我想要做的是检测用户何时输入无效的url并捕获Application_Error中的错误(在Global.asax中),然后将用户重定向到主页。

为了测试,我只使用一条路线:

  

routes.MapPageRoute("myroute","Home/{id}/{age}", "~/Home.aspx",false);

所以如果我去http://testsite/Home/10/25一切正常。 如果我转到http://testsite/Home/10/25/3443/33/22服务器返回“404 Not Found”错误。问题是Application_Error在这里甚至没有触发

但如果我去,如果我去http://testsite/Home/10/25/3443/33/22.aspx那么Application_Error 正在解雇

有谁知道为什么?如何捕获所有错误并将用户重定向到主页?

P.S。我的web.config是:

<customErrors mode="Off" defaultRedirect="Home.aspx">
      <error statusCode="404" redirect="Home.aspx" />
    </customErrors>

1 个答案:

答案 0 :(得分:0)

将IIS中的应用程序池设置为集成模式