2012-06-20 1 views
1

я использую выходной кэш атрибутов кэшировать мою страницу,Установить атрибут Output Cache относительно кондиционировать ASP.Net MVC

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

теперь проблема в том, что у меня есть домен два работает то же приложение abc.com и xyz.com я хотите сделать это, когда любой пользователь увидит мой сайт в xyz.com, тогда этот атрибут кеша обрезает до [OutputCache(Duration = 50)] .... Как мне это сделать. Я много искал в google, но не нашел никакого решения. Заранее спасибо !

ответ

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 
} 
+0

гуд один !!! ... Благодаря – user1441945