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等属性.所以问题是,如果我不能为子操作指定缓存位置(客户端,服务器,任何),认存储在哪里?谢谢!!

(对不起我的英语不好)

解决方法

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

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....