Я хочу иметь возможность установить длительный срок действия для определенных элементов, которые пользователь загружает с помощью запроса GET.
Я хочу сказать «это хорошо для 10 минут» (т.е. я хочу установить заголовок Expires на +10 минут). Запросы представляют собой фрагменты HTML, которые отображаются на странице через AJAX, и они хороши для сеанса пользователя. Я не хочу возвращаться на сервер и получать 304 , если они понадобятся снова - я хочу, чтобы кеш браузера мгновенно выдал мне тот же предмет.
Я нашел статью почти 100 лет о Кэшировании и сжатии фильтра действий MVC . Это создает пользовательский ActionFilter для изменения заголовка expires. Я уже использую фильтр сжатия, который отлично работает для некоторых пользовательских css, которые я генерирую (степень сжатия 94%!).
У меня есть две основные проблемы:
1) Мне действительно нужно использовать этот метод. Я в порядке, если я это сделаю, но разве нет никакой функциональности в MVC или функциональности OutputCache, чтобы сделать это для меня? В «традиционном» ASP.NET я всегда просто устанавливал заголовок Expires вручную, но мы больше не можем этого делать - по крайней мере, в контроллере.
2) Если я использую этот метод фильтра - будет ли он вообще мешать политике OutputCache - которой я хочу управлять в web.config. Я думаю, что оба они взаимоисключающие, и вы не захотите и того, и другого, но я не совсем уверен.