0

我正在使用 MVC 3,目前这是我的代码,不需要缓存,它在多个视图之间共享

   <div id="logindisplay">
    <h2> Welcome <strong><%= Context.User.Identity.Name %></strong></h2>
 </div>

我所有的页面顶部都有这个,其中包括有这个的主视图

%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

最后,我所有的控制器在 Index() 动作中都有这个

 [OutputCache(Duration=60*60*24)]
        public ActionResult Index()
        {               
            return View();
        }

我的一些部分观点也有

我的问题是在这里实现部分缓存/甜甜圈缓存的最佳方式是什么?我想使用其他开源库作为最后的手段,因为如果有更简单的 MVC 3 解决方案,我不知道,希望您的帮助!!!

更新,因为我现在无法回答我自己的问题

所以我在 OutputCache 上使用了这个属性。显然它应该可以工作,因为我的问题源于它被缓存在服务器端,而我不想缓存的那行代码是在服务器端评估的!

[OutputCache(Location = OutputCacheLocation.Client,Duration = 60 * 60 * 24)]
4

1 回答 1

0

ASP.NET MVC 2 和 3 不支持甜甜圈缓存。它可以在 ASP.NET MVC 1 中返回,但在 ASP.NET MVC 2 中已删除对它的支持。这是一篇非常好的文章,说明了实现它的一种可能方法。

于 2012-04-24T15:52:16.530 回答