1

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

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

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

4

1 回答 1

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 
}
于 2012-06-20T10:15:42.623 回答