1

「輸出緩存緩存2頁(有2個URL)只有1個相同的動作」 原因? 我正在尋找outputcache正在尋找routedata值...,不是嗎?ASP.NET MVC 3 OutputCache路由:1個動作的2個路由使2個緩存頁面

所以, 在我的網站,我有2個網址的主頁:

「http://www.domain.com/」

的「http:// www.domain.com/search/mysearchpage.htm」

這裏是路線:

routes.MapRoute(
       "nameofmyroute", 
       "search/mysearchpage.htm", 
       new { controller = "Search", action = "do", id = "" }, 
       new { controller = @"[^\.]*" } 
      ); 

routes.MapRoute("Default", 
       "{controller}/{action}/{id}",  
       new { controller = "Search", action = "do", id = "" }, 
       new { controller = @"[^\.]*" } 
      ); 

這是我的緩存配置:

<add name="defaultcache" 
duration="3600" 
enabled="true" 
location="ServerAndClient" /> 

當我問「/」 URL =>我的動作射擊和所有的行動已經完成。 當我重新要求「/」=>我的行動沒有被解僱=>酷它的工作!它來自緩存。

但是: 當我詢問「/search/mysearchpage.htm」=>我的動作也被解僱! 我不明白爲什麼...

PS:沒有我的行動參數。

你有解釋嗎? 非常感謝! :)

對不起,我的英語。

回答

2

ASP.NET輸出緩存提供程序基於Url而不是您的路由。

+0

好吧,但這是默認的輸出緩存提供程序的正常處理? – user1102203 2011-12-16 16:45:03