Этот вопрос относится к моему другому вопросу .
У меня есть приложение MVC с отключенным кэшированием для всех действий контроллера.Я делаю это, устанавливая заголовки ответа кеша в Application_BeginRequest
:
protected void Application_BeginRequest()
{
HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Current.Response.Cache.SetValidUntilExpires(false);
HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore();
}
Существует одно действие контроллера, для которого я хочу включить кэширование.Я украсил это действие атрибутом OutputCache
:
[OutputCache(Duration = 300, VaryByParam = "id")]
Что теперь происходит с этим действием?Кэшируется ли он из-за атрибута OutputCache или не кэшируется из-за заголовков ответов?
- EDIT -
Как представляется, ответЗаголовки имеют предпочтение.Поэтому у меня возникает вопрос: как я могу включить кэш для действий одного контроллера?Перезаписать заголовки ответа снова?