Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC 3 OutputCache路由:1个操作的2个路由生成2个缓存页_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc Routing_Outputcache - Fatal编程技术网

Asp.net mvc ASP.NET MVC 3 OutputCache路由:1个操作的2个路由生成2个缓存页

Asp.net mvc ASP.NET MVC 3 OutputCache路由:1个操作的2个路由生成2个缓存页,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-routing,outputcache,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Routing,Outputcache,“outputcache正在缓存2个页面(有2个URL),只缓存1个相同的操作” 为什么? 我想outputcache正在查找RoutedData值…,不是吗 所以, 在我的网站上,我的主页有两个URL: "http://www.domain.com/" 及 "http://www.domain.com/search/mysearchpage.htm" 以下是路线: routes.MapRoute( "nameofmyroute",

“outputcache正在缓存2个页面(有2个URL),只缓存1个相同的操作” 为什么? 我想outputcache正在查找RoutedData值…,不是吗

所以, 在我的网站上,我的主页有两个URL:

"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/mysearch.htm”=>时,我的操作也被触发! 我不明白为什么

PS:我的动作没有参数

你对此有什么解释吗? 非常感谢!:)


对不起,我说的是英语。

ASP.NET Outputcache提供程序基于Url,而不是您的路由。

好的,但这是默认Outputcache提供程序的正常处理方式吗?是的,MVC输出缓存与基于Url的webform相同(默认情况下)。但是,您可以重新实现提供程序,将url键替换为“restful路径”