【问题标题】:Is there a way to have OutputCache ignore the master page in asp.net mvc?有没有办法让 OutputCache 忽略 asp.net mvc 中的母版页?
【发布时间】:2010-01-20 07:52:49
【问题描述】:

我有一个操作会返回一个视图,该视图带有一个顶部带有登录用户控件的母版页。当我设置 outputcache 时,它​​会缓存包括当前用户在内的整个输出,所以每个人都会看到最后一个点击页面刷新缓存的人作为当前用户。有没有办法防止母版页被包含在缓存中?

我正在使用以下代码:

[OutputCache(Duration=3000, VaryByParam={params})]  
public ActionResult {actionName}({params})  
{  
    {codeGoesHere}  
}

【问题讨论】:

标签: asp.net-mvc caching master-pages outputcache


【解决方案1】:

有一个“donut caching”的概念(不包括输出缓存中的部分页面),但它没有在 asp.net MVC 1 中实现。要解决您的问题,您可以尝试this workaround

【讨论】:

    【解决方案2】:

    输出缓存与控制器相关联,而不是视图。控制器可能会根据传递的参数返回不同的视图。缓存也可以通过参数完成(就像您在示例中所做的那样)。当控制器的结果被缓存时,该缓存值是视图生成的 html(包括母版页,如果有的话)。所以,简短的回答是,不,您不能从缓存中排除母版页。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      相关资源
      最近更新 更多