为什么配置路由会阻止缓存

时间:2014-02-20 15:52:19

标签: asp.net asp.net-mvc asp.net-mvc-4 caching outputcache

我只需为Home / Index操作方法定义额外的url路由,如下所示。

        routes.MapRoute(
            name: "Playlists",
            url: "Home/Playlists",
            defaults: new { controller = "Home", action = "Index" }
        );

这是我的OutputCache属性

的索引操作
    [OutputCache(Duration = int.MaxValue, Location = OutputCacheLocation.Server, NoStore = true, VaryByCustom = "canVisit")]
    public ActionResult Index()
    {
        return View();
    }

当用户nagivates / Home / Index url时,OutputCache属性运行良好,但当用户导航/ Home / Playlists url时,它根本不起作用。为什么这个路由会阻止输出缓存?

1 个答案:

答案 0 :(得分:0)

您正在缓存基于URL的特定操作的结果...所以在您的情况下,缓存存储两个副本,一个由/ Index键入,一个键入/播放列表。