我有一个MVC3(C#)应用程序,它引发了一个神秘错误(显示自定义错误页面),我在我的日志文件(我使用NLog进行日志记录)和IIS日志中找不到任何关于它的信息
事实上它没有出现在我的日志文件中,我得出结论,Application_Error()没有触发,否则它应该被记录。发生此错误后,在重新启动应用程序池之前,它不会消失。
注意:这不是关于当customError为On时不会触发Application_Error()。即使我将customError设置为On。因为当我故意输入错误的URL时,我会得到自定义错误页面,我也可以在日志中看到它。
是否有人遇到类似问题?或者任何人都知道我应该研究什么?谢谢。
答案 0 :(得分:0)
为了捕获给定域上的任何URL,您需要所谓的catch-all路由,如下所示:
// this route is intended to catch 404 Not Found errors instead of bubbling them all the way up to IIS.
routes.MapRoute("PageNotFound", "{*catchall}", notFound);
最后注册该路线。
关于问题的“接管IIS劫持”方面,您可能想研究system.webServer httpErrors