demoshop

demo, trying to be the best_

在 demo 講 ASP.NET MVC 的課程時,我都會很早就提到網址路由(Route) 的部分,不過只是簡單的說一下預設的對應方式,因為不會自訂網址路由(Route)並不會影響整個網站的開發,頂多就是做出來以後網址有點醜而已....

但是當開發者已經進階到開始要改網址路由(Route)時,就會發現這裡面學問還真多,而本篇不是要詳細的說明基本的部分(基本說明請參考《ASP.NET MVC4網站開發美學》),只是要介紹如何藉由實做 IRouteConstraint 來自訂約束(constraints)條件,當你學會了自訂約束條件後,網址路由設定的難度就會相對簡單很多。

之前 demo 就已經介紹過在 ASP.NET MVC 2的時候測試 Routes 的文章,剛好今天看到 Vistal Studio 2010 有一個套件也是做類似的事情,所以實際把玩了一下,感覺該套件不是那麼的方便,因此特別發文介紹一下在 ASP.NET MVC3 超簡單測試 Routes 的方法,簡單到嚇死人唷。

在 ASP.NET MVC 2.0 以後增加了一個 Area(區域)的概念,對於區分開不同模組或是共同開發的時候相當好用,A區域的不會影響到B區域,但是如果很不巧的使用到了相同的 Controller 名稱,那可是會發生錯誤的,一開始可能會以為這是個限制,但是仔細想想,都已經有了區域概念卻還互相影響是很蠢的,因此我們可以利用 Router 的限制規則來排除這個問題,讓個別的區域開發者可以不用顧慮到命名的問題。

ASP.NET MVC 的一個很重要的機制 URL Rewrite 但是當規則寫一堆以後真的很難偵錯,雖然可以利用Unit Test 來做測試,但是不一定每個人都會實作測試的,因此推薦一個快速測試Routes 的工具。