“outputcache只缓存了2个页面(有2个URL),只有1个相同的动作” 为什么? 我认为outputcache正在寻找routedata值...,不是吗?
所以, 在我的网站上,我有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 =&gt;我的行动正在解雇并且所有行动都已完成。 当我再次要求“/”=&gt;我的行动没有被解雇=&gt;很酷它的工作!它来自缓存。
但: 当我要求“/search/mysearchpage.htm”=&gt;我的行动也被解雇了! 我不明白为什么......
PS:我的行动没有参数。
你有解释吗? 非常感谢 ! :)
抱歉我的英文。
答案 0 :(得分:2)
ASP.NET Outputcache提供程序基于Url而不是您的路由。