2012-01-02 2 views
2

Я использую OutputCache атрибут кэшировать мое домашней страницу содержанияActionFilter не выполняет с кэшированным выходом

[OutputCache(CacheProfile = "Default")] 
public ActionResult Index() 
{ 
    ..... 
} 

У меня также есть пользовательский глобальный атрибут настройка, которая проверяет каждый запрос на действительный тип браузера

GlobalFilters.Filters.Add(new BadBrowserAttribute()); 

OnActionExecuting срабатывает по мере необходимости во время первого запроса, но не до истечения срока действия кэша.

Я думал, что значение атрибута может помочь, но, похоже, оно не имеет никакого значения.

Возможно ли получить каждый пользовательский атрибут для кэширования контента?

ответ

0

Невозможно, чтобы ваше действие срабатывало каждый раз. Когда вы используете кеширование (как в вашем коде), последующие результаты запроса будут возвращены из кеша, поэтому действие не будет выполнено.

Устранение проблемы может заключаться в реализации пользовательского кэширования внутри фильтра действий. Что-то вроде this

Смежные вопросы