如何在 MVC 中正确缓存视图数据

本文关键字:缓存 视图 数据 MVC | 更新日期: 2023-09-27 18:37:02

  [OutputCache(Duration=100)]
        public ViewDataDictionary IndexCache()
        {
            ViewDataDictionary dic = new ViewDataDictionary();
      // here I add the data to dic and MVC cached it.
            return dic;
        }
 public ActionResult Index(string param1)
        {
            var x = IndexCache();
            foreach(var y in x)
            {
                ViewData.Add(y);
            }
            return PartialView("/home/index.cshtml");
        }

此实现是缓存视图数据的正确方法吗?

如果没有,请指导我如何获得它。

如何在 MVC 中正确缓存视图数据

阅读本教程

OutputCache 属性放在返回视图数据的方法上方,例如 Index ,这应该缓存,无论Index返回什么,取决于属性的设置。

如果您只想缓存跨多个视图或控制器使用的数据,请使用进程/内存缓存和 System.Web.Caching