URL Routing組件
• System.Web.Routing.dll
• 獨立於ASP.NET MVC框架的組件,可用於任意ASP.NET應用程序
• ASP.NET MVC框架開放源代碼
• URL Routing組件目前並不開放
• 將URL轉換爲RouteData等數據並指向相應的Controller和Action
URL Routing接受到用戶在瀏覽器中輸入的URL請求,經過路由匹配後將URL映射到相應的Controller。
MVC是根據URL進行驅動的,根據程序中定製的規則(Routing maps)來確定Controller,Action以及其它各種參數。
Routing組件的使用
• 配置UrlRoutingModule
• 在Application_Start時添加規則
– 應用程序接收到第一個請求前執行
• 能夠隨時添加或刪除規則
– 鎖
• 規則的順序非常重要
• 是否在找到物理文件的情況下繼續映射
– RouteExistingFiles屬性
Route Class
• URL
– "{controller}/{action}/{id}"
• Defaults
– action="Index", id=""
• Constraints
– year="\d{4}", httpMethod=“POST"
• Data Tokens
• Route Handler
URL Routing Debugger
• 使用URL Routing Debugger可以快速檢驗
一個URL是否被某個規則採納
– 今後課程也會提到對Routing進行單元測試或測試驅動開發
• http://haacked.com/archive/2008/03/13/urlrouting-debugger.aspx