我目前正在运行带有 IIS 6 的 asp.net webforms .net 3.5。
我尝试为所有类型的错误创建自定义错误页面,并根据错误类型和状态代码(如果存在)创建自定义处理程序。
现在,在 cassini 上,一切都在本地运行良好。但是,当我将它部署到运行 IIS6 的开发框时,404 错误不会命中global.asax 中的 application_error 事件。相反,它通过了我对错误处理的尝试,并直接进入 IIS 为 404 定义的自定义错误页面。
我目前有一个带有通配符的 IIS6 设置,可以通过 .NET dll 传递所有内容,就像设置了 cassini 一样。
我非常困惑为什么这不会像在本地一样发生在 dev 上。任何人都可以插话并提供帮助吗?提前致谢。
ps
这是我的网络配置。我没有使用内置的错误处理,除了打开/关闭我的处理,并捕获我的错误处理中的任何错误:
<customErrors mode="On" defaultRedirect="~/error.htm" />