2014-07-06 55 views
5

我正在使用asp.net mvc 4 web應用程序中的屬性路由。這是一個單一的應用程序,支持15種不同的文化和20多種語言。這樣做的結果是,我的路由表非常大,超過3000條路由。這麼多路線的主要原因是因爲路線是按照語言本地化的。這樣做的後續效果是導致查詢速度緩慢,並導致網站性能下降。優化性能或屬性路由和路由表

我正在尋找提高性能的方法。所以尋找提示。不幸的是,由於業務限制,我無法改變我的路由結構。我有這麼多路由的主要原因是由於翻譯 - 每個語言的路由表中都有一個條目。任何方式來避免這種情況?

另外,我注意到在路由表中,POST方法的條目 - 這是必需的嗎?可以避免在POST的路由表中輸入條目嗎?

是否有任何形式的緩存可以包含在內,以避免路由表查找,而是從內存中讀取?

屬性路由的任何性能優化提示或通常路由將是非常好的。

+0

看看http://superscribe.org/一些很酷的基於圖的路由。 – DavidG

+0

謝謝,但我寧願優化,而不是在可能的情況下進行更改。 – amateur

+2

有一個來自最初的Stack Overflow開發者之一的關於優化MVC3路由的相當老的帖子。我不確定它是否會在MVC4中具體應用,或者您是否會從中受益。 http://samsaffron.com/archive/2011/10/13/optimising-asp-net-mvc3-routing。我強烈建議您在開始「優化」之前先測量自己的速度緩慢。 –

回答

1

這是一個複雜的問題,因爲沒有人清楚知道您的路由表有多複雜,以及在重新組織Web應用程序時面臨的業務限制。所以我可以做的是提示一些選項供您探索:

以上建議可基於語言環境或語言。例如,當您訪問www.apple.com時,您可以找到像加拿大或意大利這樣的本地網站,如虛擬目錄「www.apple.com/ca」或「www.apple.com/it」。

希望這會有所幫助! 亨利