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