如何从MVC 3中的输出缓存中排除Master中的服务器绑定数据?

时间:2012-04-24 15:46:17

标签: asp.net-mvc-3 caching outputcache

我正在使用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)]

1 个答案:

答案 0 :(得分:0)

ASP.NET MVC 2和3不支持圆环缓存。 It was possible回到ASP.NET MVC 1中,但在ASP.NET MVC 2中已经删除了对它的支持。这里有一个very nice article,说明了实现它的一种可能方法。