我目前正在运行带IIS 6的asp.net webforms .net 3.5。
我试图为所有类型的错误创建一个自定义错误页面,并基于错误的类型和状态码(如果存在)创建自定义处理程序。
现在,在卡西尼本地一切正常。但是,当我将其部署到运行IIS6的开发箱中时,404错误不会在global.asax中的application_error事件中击中。相反,它经过我对错误处理的尝试,并直接转到IIS为404定义的自定义错误页面。
我目前使用通配符设置IIS6,以使所有内容都通过.NET dll传递,就像安装了卡西尼一样。
我非常困惑为什么开发人员不会以这种方式在本地发生这种情况。任何人都可以鸣叫并提供帮助吗?提前致谢。
ps
这是我的网络配置。我没有使用内置错误处理,只是打开/关闭了我的处理,并捕获了由于我的错误处理而导致的任何错误:
<customErrors mode="On" defaultRedirect="~/error.htm" />
最佳答案
在IIS中将404处理程序设置为指向不存在的aspx文件。这将触发所有404的Application_Error。
关于error-handling - 全局asax中的应用程序错误事件未触发无扩展名404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10253621/