加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 09:39:52 所属栏目:asp.Net 来源:网络整理
导读:我正在使用OutputCache缓存我的应用程序中的水平菜单和垂直菜单.我通常在我想要缓存的操作中使用这样的东西 [OutputCache(Duration=3600,VaryByParam="none",Location=OutputCacheLocation.Client,NoStore=true)] public ActionResult ActionName() { ......
我正在使用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等属性.所以问题是,如果我不能为子操作指定缓存位置(客户端,服务器,任何),默认存储在哪里?谢谢!!

(对不起我的英语不好)

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读