Application_Error 并不总是触发 ASP.NET

Posted

技术标签:

【中文标题】Application_Error 并不总是触发 ASP.NET【英文标题】:Application_Error not always firing ASP.NET 【发布时间】:2014-02-15 17:44:04 【问题描述】:

我在我的网站中使用路由。我想要做的是检测用户何时输入无效的 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 正在触发

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

附:我的 web.config 是:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

它处于集成模式

以上是关于Application_Error 并不总是触发 ASP.NET的主要内容,如果未能解决你的问题,请参考以下文章

当 customerrors = "On" 时,Application_Error 未触发

Application_Error 未记录错误

Vue 条件 css 并不总是触发

并不总是触发带有 BroadcastReceiver 的地理围栏

WPF EventTrigger并不总是触发

可运行的Android if语句并不总是触发