首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC中的多重OutputCache

MVC中的多重OutputCache
EN

Stack Overflow用户
提问于 2016-03-19 17:37:30
回答 1查看 283关注 0票数 2

可以为一个操作定义多个OutputCache吗?为了前夫。假设我想将OutputCache副本存储在Server中,另一个存储在Client中。我知道我们可以用Location=OutputCacheLocation.ServerAndClient来实现这一点,但是如果我想为ClientServer指定不同的Duration,为Server设置更大的Duration,为Client指定更小的Duration呢?那么,有了这个要求,我可以按以下方式得到它吗?

代码语言:javascript
复制
[OutputCache(Duration = 3600, Location = OutputCacheLocation.Server, VaryByParam = "pID", NoStore = true)] //Server Cache for 1 hour
[OutputCache(Duration = 600, Location = OutputCacheLocation.Client, VaryByParam = "pID", NoStore = true)] //Client Cache for 10 minutes
public ActionResult GetDetails(string pID)
{
    //some code
    return View(model);
}

这是有效的,让或MVC考虑到最新的OutputCache

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-19 17:51:35

如果查看OutputCacheAttribute的源,就会注意到该属性是用AllowMultiple属性设置为false定义的:

代码语言:javascript
复制
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)]
public class OutputCacheAttribute : ActionFilterAttribute, IExceptionFilter

所以这是行不通的

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36104926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档