Asp.net MVC2 與 MVC3 路由調試好幫手RouteDebug 與 RouteDebugger


RouteDebug 與 RouteDebugger是什么?

 

在Asp.Net MVC程序中,路由(Route)是一個非常核心的概念,可以說是MVC程序的入口,因為每一個Http請求都要經過路由計算,然后匹配到相應的Controller和Action。通常我們的路由都會注冊在Global.asax.cs文件中的RegisterRoutes方法中,路由會從上往下依次匹配,因此自定義的(優先級高)的路由需要放在默認(通用)路由的前面。但是,如何確保所有的路由都是正確的,或者是沒有重復的呢?RouteDebug 與 RouteDebugger就是這樣一個分析工具。

使用方法

RouteDebug主要是用在MVC2的       RouteDebug下載

總所周知,一般引用第三個插件的時候我們都會習慣性的在項目里面增加lib文件,這里就需要把RouteDebug添加到項目的lib文件中如下圖:

接着點擊上圖看到的引用找到lib文件夾下面的RouteDebug.dll添加引用,接下來就在Global文件里面的Application_Start中注冊:

     protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);

            //注冊RouteDebug
            RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
        }

接下來就可以測試了。

RouteDebugger主要是用在MVC3      RouteDebugger下載

RouteDebugger的使用方法和RouteDebug的差不多,都是新建一個lib文件放第三方插件,然后添加引用。MVC3的不需要在Global文件里面的Application_Start中注冊,這是因為.NET4.0新增的程序集Microsoft.Web.Infrastructure允許動態注冊HttpModule,RouteDebugger將格式化的路由調試信息追加(append)到每一個request里。這里需要注意一下,如果web.config文件中沒有如下代碼的要記得添加上

調試結果如下:

 

禁用路由調試功能

當你在調試MVC2的路由的時候,頁面的內容是看不到的,打開的每個頁面都是調試的路由信息。如果是調試MVC3的路由信息的時候,每個頁面的后面都會增加調試的信息。如果你不想要以上兩種情況的出現。那么分別設置如下的信息就可以實現了。

MVC2  的 RouteDubeg:

只要把之前在Global文件里面的Application_Start中注冊的信息注釋掉重新編譯就好了。

MVC3  的 RouteDubegger:

只要在Web.config文件里面將RouteDebugger:Enabled后面的value值設置為"false"即可關閉RouteDebugger模式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM