【问题标题】:Set Output Cache attribute regarding to condition ASP.net MVC设置关于条件 ASP.net MVC 的输出缓存属性
【发布时间】:2012-06-20 09:55:46
【问题描述】:

我正在使用输出缓存属性来缓存我的页面,

[OutputCache(Duration = 50000)]
    public ActionResult GetRidOfZombies()
    {
       // Code 
    }

现在的问题是我有两个域运行相同的应用程序 abc.comxyz.com 当任何用户在xyz.com 中看到我的网站时,我想这样做,然后此缓存属性将缩减为[OutputCache(Duration = 50)] .... 我应该怎么做。我在谷歌上搜索了很多,但没有找到任何解决方案。提前致谢 !

【问题讨论】:

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


    【解决方案1】:

    你可以写一个自定义属性:

    public class MyDomainAwareOutputCacheAttribute : OutputCacheAttribute
    {
        public override void OnResultExecuting(ResultExecutingContext filterContext)
        {
            // TODO: extract the domain from filterContext.HttpContext.Request.Url
            // and set the duration accordingly
    
            Duration = 50000;
    
            base.OnResultExecuting(filterContext);
        }
    }
    

    然后:

    [MyDomainAwareOutputCache]
    public ActionResult GetRidOfZombies()
    {
        // Code 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2011-01-22
      • 1970-01-01
      • 2010-09-27
      • 2012-12-25
      • 1970-01-01
      相关资源
      最近更新 更多