我正在使用输出缓存属性来缓存我的页面,
[OutputCache(Duration = 50000)]
public ActionResult GetRidOfZombies()
{
// Code
}
现在问题是我有两个域运行相同的应用程序abc.com
和xyz.com
当任何用户在xyz.com
中看到我的网站时,我希望这样做,然后此缓存属性减少到[OutputCache(Duration = 50)]
....我该怎么做。我在谷歌搜索了很多,但没有找到任何解决方案。提前致谢 !
答案 0 :(得分: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
}