2010-02-22 132 views
1

在ASP.NET MVC 2中使用路由引擎註冊多個路由時是否存在任何性能問題?我打算做的是爲每個頁面註冊一個不屬於類別的內容頁面的路由。換句話說,對於這類網頁,會有爲每一個註冊的一個途徑:ASP.NET MVC和路由性能?

  • /首頁/
  • /首頁/聯繫
  • /主頁/路線
  • /主頁/ Meet-我們的員工

雖然有一些這些網頁,但沒有數百個。具有明確的路由是有用的,因爲RoutCollection.MapRoute的第三個參數是「對象默認值」,它可以用來保存一些與URL相關的後端信息。

一種替代方法是讓這些URL的請求落入默認路由,該路由將根據URL進行一些查找(以獲取與通過「對象默認值」存儲的信息相同的信息),然後按照相同的代碼路徑顯示頁面。我更喜歡第一個選項,因爲我認爲它比解析URL更清晰,並且由於「對象默認值」而具有性能優勢。

+1

我問同樣的問題響應菲爾哈克的博客文章之一: http://haacked.com/archive/2010/02/21/manipulating-action-method-parameters.aspx#feedback 後考慮到這一點,我決定爲部分設置catchall路由,但不爲每個靜態頁面設置路由。 – Cymen 2010-02-24 21:00:44

回答

1

我不知道任何性能問題。 URL路由是爲處理大量路由而構建的,我非常確定IIS只編譯一次並使用它們,直到它們所在的文件發生更改。您必須記住,URL路由是爲處理每個產品具有自己的URL的目錄而構建的。所以這應該說它的表現。