RouteDebugger :Asp.Net MVC路由调试的好工具

路由机制是Asp.Net MVC中一个非常核心的概念,所有的http请求都需要通过路由来进行分配和计算,路由对http请求进行匹配获取相对应的Controller和Action。

在MVC项目中“App_Start”文件夹下面有“RouteConfig.cs” 文件,通过该类来注册相关路由。路由会从上往下依次匹配,如果匹配上就直接返回了下面的就不会在匹配了,所以这里就要产生了优先级的问题(越上面优选级越高)。

如果路由规则比较多这个优先级就不太好处理了,如何确保所有的路由都是正确的或者是没有重复的?今天我分享一个工具:RouteDebugger

安装 RouteDebugger

RouteDebugger可以通过NuGet来安装或者直接下载安装包安装。

1、右键点击MVC项目 —> 管理 NuGet 程序包 (下图)

20150801121901354_6718.png

2、打开 NuGet 以后,左侧菜单选择“联机”—>右边输入“Route Debugger”,系统就会自动搜索,搜索到以后点击安装就可以了。(下图)

20150801122539278_8222.jpg

至此 RouteDebugger 就安装完成了。

注意事项:

  • RouteDebugger 2.x版本对应.NET4.0和MVC3,旧版本请参考Phil Haack的ASP.NET Routing Debugger
  • RouteDebugger 也可以通过使用 NuGet控制台来安装。导航菜单“工具”—> “库程序包管理器” —>“程序包管理器控制台” —> 输入:Install-Package routedebugger

使用方法

不需要做任何配置,就可以直接运行查看效果了。因为.NET4.0新增的程序集Microsoft.Web.Infrastructure允许动态注册HttpModule,RouteDebugger将格式化的路由调试信息追加到每一个request里。

对于.NET3.5和MVC3之前的项目,如果要使用RouteDebugger,还需要在Application_Start中注册:

运行后的结果(下图)

通过下面的结果我们可以得出,当前的请求地址、使用的那个路由规则、Controller和Action等等信息,通过这些信息我们就可以正确的编写路由规则和路由的优先级。

20150801125927633_2270.jpg

如何关闭或者禁用该功能?

当使用了RouteDebugger后,你会发现每一个页面的后面都会附带路由信息。如果你需要禁用这个功能,打开Web.config:将RouteDebugger:Enabled后面的value=”false”即可关闭RouteDebugger模式。

20150801132430684_4495.jpg

发布者:柚子,转转请注明出处:https://ityouzi.com/archives/route-debugger-aspnet-mvc.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注