全局 asax 中的应用程序错误事件未因无扩展 404 错误而触发

Posted

技术标签:

【中文标题】全局 asax 中的应用程序错误事件未因无扩展 404 错误而触发【英文标题】:Application Error event in Global asax not firing on extension-less 404 errors 【发布时间】:2012-05-02 11:24:35 【问题描述】:

我目前正在运行带有 IIS 6 的 asp.net webforms .net 3.5。

我尝试为所有类型的错误创建自定义错误页面,并根据错误类型和状态代码(如果存在)自定义处理程序。

现在,在 cassini 上本地一切运行良好。但是,当我将它部署到运行 IIS6 的开发框时,404 错误 do not hit global.asax 中的 application_error 事件。相反,它通过了我对错误处理的尝试,并直接进入 IIS 为 404 定义的自定义错误页面。

我目前使用通配符设置 IIS6,以通过 .NET dll 传递所有内容,就像设置 cassini 一样。

我非常困惑为什么这不会像在本地那样在 dev 上发生。任何人都可以插话并提供帮助吗?提前致谢。

附言

这是我的网络配置。我没有使用内置的错误处理,只是打开/关闭我的处理,并捕获我的错误处理中出现的任何错误:

<customErrors mode="On" defaultRedirect="~/error.htm" />

【问题讨论】:

【参考方案1】:

将 IIS 中的 404 处理程序设置为指向一个 不存在的 aspx 文件。这将触发所有 404 的 Application_Error。

【讨论】:

感谢您的回复。有空我会尽快查看。 @letsgetsilly - 你有空闲时间来确认这个答案吗?

以上是关于全局 asax 中的应用程序错误事件未因无扩展 404 错误而触发的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常

ASP.NET MVC中的Global.asax文件

学习笔记11全局处理程序global.asax

asp.net mvc global.asax文件详解

Global.asax.cs介绍

nopCommerce 3.9 大波浪系列 之 global.asax