微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 用于子操作的MVC OutputCache:它存储在哪里?

我正在使用OutputCache缓存我的应用程序中的水平菜单和垂直菜单.我通常在我想要缓存的操作中使用这样的东西

[OutputCache(Duration=3600,varyByParam="none",Location=OutputCacheLocation.Client,NoStore=true)]
    public ActionResult ActionName()
    {
        .......
    }

但如果是儿童行动我必须使用

[ChildActionOnly]
    [OutputCache(Duration = 180,varyByParam = "none")]
    public ActionResult Menu() 
    {
       ......
    }

将OutputCache与子操作一起使用时,无法指定Location或NoStore等属性.所以问题是,如果我不能为子操作指定缓存位置(客户端,服务器,任何),认存储在哪里?谢谢!!

(对不起我的英语不好)

解决方法

我只是在这里猜测,但它可能只存储在服务器上.将部分视图(可能是子操作的结果)存储在客户端上的想法没有意义 – 客户端不知道页面在服务器上的操作分解.

我看到它的方式,除非整个页面被缓存,客户端必须去服务器获取页面呈现,此时,服务器可以返回缓存子操作结果.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐