2013年12月19日 星期四

ASP.NET MVC - 使用 Cobisi Routing Assistant 觀察與檢查 Route 設定

前面一系列都在介紹 Attribute Routing 的內容,相較於在 RouteConfig.cs 裡設定 Route,使用 Attribute Routing 是比較彈性與方便,但是在管理上就不是那麼容易了,因為散在各處的 Controller 都有可能使用到 Attribute Routing 來做 Route 設定,以前只要在 RouteConfig.cs 與 Areas 裡的 AreaRegistration 就可以看到所有的 Route,現在則是每個 Controller 都要打開來看才行。

不過在 Visual Studio  裡有個工具則是一次列出專案裡的所有 Route 設定,讓我們可以馬上一目了然,並且還有提供檢測 Route Mapping 功能,讓我們未執行網站前就可以知道設定的 Route 是否能夠正確的 Mapping。

 


Cobisi Routing Assistant

http://cobisi.com/routing-assistant

image

這是一套免費的工具,要收錢的是 Cobisi MVC Extensions,這個 MVC Extensions 則是有提供了類似 Attribute Routing 的功能,一樣可以在 Controller 裡使用 Attribute 的方式來設定 Route,而搭配 Cobisi Routing Assistant 使用的話,則是可以有更多的功能可以使用,不過 Cobisi MVC Extensions 的費用雖然不是很貴(單一網站授權費用為 $49.95),花錢購買使用的人畢竟算是少數,雖然有提供免費的使用版本,但是只要有使用就會強制在網頁的下方自動顯示 Copyright 文字,雖然可以用一些方法將 Copyright 給移除,但是使用者付費的觀念與作法還是要再次強調。

 

安裝

我們可以透過 Visual Studio 的「擴充功能和更新」來安裝 Cobisi Routing Assistant,

http://visualstudiogallery.msdn.microsoft.com/f0589156-a8e6-47db-8bac-90f01ca6b8a3

image

安裝完成並重新啟動 Visual studio 之後,可以在「工具」底下看到

 image

 

使用

首先點選「工具 > Cobisi Routing Assistant > Routing Explorer」,會開啟一個浮動視窗,如下:

image

建議各位可以將 Routing Explorer 釘在方案總管的那個區塊裡,這樣比較方便做查看,另外如果專案是第一次使用 Routing Explorer,那麼需要按下視窗裡的「Unblock」。

按下「Unblock」之後就會載入專案裡所有的 Route 設定,包含 Areas 下的 Route 設定也會顯示出來,

image

當專案裡的 Route 設定有所變動時,Routing Explorer 並不會馬上更新,而是要在重新建置專案後 Routing Explorer 才會更新內容,更新的速度會稍微延遲一些,看各位所使用的開發環境速度而定。

如果 Route 設定有很多的時候或是要查看符合某些條件的 Route 時,可以在 Routing Explorer 裡進行篩選,

image

如果專案裡的 Route 設定有問題時,Routing Explorer 則會顯示錯誤的訊息,不過因為不是使用 Cobisi MVC Extensions,所以並不會顯示那一個 Route 設定有問題,

image

image

如果專案有使用 Cobisi MVC Extensions 的話,在 Routing Explorer 還有可以直接到定義的位置,

image

 

Route 對映

這邊要介紹另外一個功能就是「URL Mapper」,可從「工具 > Cobisi Routing Assistant > URL Mapper 」開啟,

image

開啟的 URL Mapper 視窗,我會建議釘在 Visual Studio 下方,

image

在 URL Mapper 裡操作前要先指定專案,

image

然後在 URL 裡輸入要檢查對映的內容,輸入完成後按右方的「Map」按鍵,如果有對映到的話就會在下方顯示。

例如:

輸入 ~/Foobar/Product/Seafood,結果有兩個對映結果出來,對映的結果裡會顯示對映到那一個 Controller 與 Action 以及參數名稱,

image

不過這只是先提供 Route 設定的對映查詢,實際上是否能夠使用還是真的執行過後才知道,URL Mapper 是提供一個對映的功能,讓我們在設定 Route 後,在實際執行之前先做測試。

 


以上簡單介紹 Cobisi Routing Assistant 這個免費的工具,讓我們可以方便的檢視專案裡的 Route 設定,以及使用 URL Mapping 功能以測試 Route 設定是否能夠被正確的匹配。

不管是只有使用傳統的 Route 設定,還是已經有使用 Attribute Routing,使用 Cobisi Routing Assistant 可以讓我們對於 Route 設定與管理能夠方便一些。

 

延伸閱讀:

ASP.NET MVC - 使用 Attribute Routing

ASP.NET MVC - 使用 Attribute Routing, 設定路徑階層

ASP.NET MVC - 使用 Attribute Routing, RouteArea

 

以上

1 則留言:

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。