如何捕获所有路径以处理ASP.NET MVC的“ 404页面未找到”查询?
-
10-07-2019 - |
题
是否有可能创建一条捕获所有..并使用户跳回ASP.NET MVC中的404视图的最终路由?
注意:我不想在IIS设置中进行设置。
解决方案
自己找到答案。
Richard Dingwall 的精彩文章,介绍了各种策略。我特别喜欢FilterAttribute解决方案。我不喜欢在Willy Nilly周围抛出异常,所以我看看我是否可以对此进行改进:)
对于global.asax,只需将以下代码添加为注册的最后一条路径: 通用标签
其他提示
这个问题排在第一位,但是更容易回答的是随后的问题:
我通过创建一个ErrorController使我的错误处理正常工作 返回本文中的视图。我还必须添加“全部捕获” 到global.asax中的路由。
如果没有,我看不到如何到达这些错误页面中的任何一个 在Web.config ..我的Web.config必须指定: 通用标签
然后我还添加了: 通用标签
希望这会有所帮助。
我现在很喜欢这种方式,因为它是如此简单: 通用标签
此外,您还可以按以下方式处理Global.asax.cs中的“未找到”错误 通用标签
将此行添加到项目根目录web.config文件下。 通用标签
使用时可能会出现问题 通用标签
当您想了解这一点时,除了编辑您的Web配置外,我不知道其他任何方式。
创建包罗万象的路线的另一种方法是按照 Marco的优于独角兽MVC 404向您的Application_EndRequest
添加一个MvcApplication
方法。回答。
在RouterConfig.cs
内部添加以下代码:
通用标签
如果无法解决路由,则MVC框架将通过404错误。 最好的方法是使用异常过滤器...创建一个自定义的异常过滤器并进行如下操作。 通用标签