Tag: outputcache

你可以根据控制器动作的参数在asp.net-mvc中使用输出缓存吗?

我想使用输出缓存来避免使用相同的静态查询一遍又一遍地访问我的数据库,但我的控制器具有唯一定义post的参数。 我如何计算我的参数并仍然支持asp.net-mvc中的输出缓存?

OutputCache VaryByCustom cookie值

有没有办法根据cookie值设置OutputCache的值? 为了简单起见,这是我的方法 [OutputCache(Duration = 600, VaryByParam = “None”, VaryByCustom = “ztest”)] public ViewResult Index() { return View(); } 我的Global.asax有这个(为了覆盖GetVaryByCustomString方法 public override string GetVaryByCustomString(HttpContext context, string custom) { if (custom == “ztest”) { HttpCookie ztest = context.Request.Cookies[“ztest”]; if (ztest != null) { return ztest.Value; } } return base.GetVaryByCustomString(context, custom); } 我可以validation我的浏览器是否有ztest cookie,但是当我调试Index方法时,我每次都会遇到断点(意味着缓存不起作用)。 HttpResponse没有出站cookie,所以这一点不适用: https : //msdn.microsoft.com/en-us/library/system.web.httpcookie.shareable(v=vs.110).aspx […]

在asp.net mvc中以编程方式中止OutputCache持续时间

我正在使用OutputCache属性在服务器端缓存我的动作的html输出。 很好,它可以工作,但现在我的情况是内容变化很少,但是当它发生时,用户在下一个请求中看到新数据至关重要。 那么,有没有办法以编程方式中止页面缓存持续时间? 提前致谢, AndréCarlucci

客户端上的Outputcache属性与部分页面’

我是创建应用程序菜单的部分页面。 我使用renderaction调用菜单部分视图。 我想通过这样做在客户端存储这个部分页面 [OutputCache(Duration=7200, Location =OutputCacheLocation.Client, NoStore= true)] 但我收到以下错误 OutputCacheAttribute for child actions only supports Duration, VaryByCustom, and VaryByParam values. Please do not set CacheProfile, Location, NoStore, SqlDependency, VaryByContentEncoding, or VaryByHeader values for child actions 任何替代

使用ASP.NET MVC OutputCache同时根据用户是否经过身份validation来更改View内容

我正在构建一个ASP.NET MVC 2站点,我正在大量使用OutputCache参数。 但是,我有一个问题:使用此类缓存可能会干扰身份validation 。 在我的所有页面上,我显示用户是否已登录。 此外,在我的一些视图中,我根据用户角色进行过滤,以确定是否显示某些页面内容(例如,我的某个页面上的“ 编辑”链接仅显示给主持人或管理员角色的用户) 。 使用OutputCache是​​否会干扰我的视图的动态更改? 如果是这样,我如何在不消除缓存的情况下解决此问题?

在MVC 3中禁用部分视图上的缓存

我有一个部分View被缓存的问题,当它不应该被缓存。 此部分视图用于显示页面上的登录/注销。 它使用下面的简单代码来确定要显示的链接 @if(Request.IsAuthenticated) { Log Off } else { Log On } 使用我的MVC3应用程序中的所有页面调用此部分视图 @Html.Partial(“_HeaderView”) 在我的大多数控制器中,我定义了输出缓存,因此我可以利用缓存内容。 [OutputCache(Duration = 86400, VaryByParam = “*”)] 现在我的问题是,当我不想要部分视图时,整个页面都被缓存了。 这导致了错误的行为,即使用户没有登录,它有时会显示LogOff等。有没有办法缓存所有内容,除了有问题的部分视图?

OutputCache Location =客户端似乎不起作用

我试图在我的MVC应用程序中使用OutputCache属性,当我使用OutputCacheLocation.Client时,它似乎不起作用: public class HomeController : Controller { [OutputCache(Duration=15, Location=OutputCacheLocation.Client)] public ActionResult Client() { ViewBag.Message = “The current time is ” + DateTime.Now.ToString(“hh:mm:ss”); return View(); } [OutputCache(Duration=15, Location=OutputCacheLocation.Any)] public ActionResult Any() { ViewBag.Message = “The current time is ” + DateTime.Now.ToString(“hh:mm:ss”); return View(); } } 第一个不缓存。 我每秒都会点击页面,它会改变时间。 第二个工作。 它只会每15秒更改一次。 有什么我想念的吗? 我正在使用IE8和Visual Studio中的内置开发服务器进行调试。