Переопределить длительность кэширования вывода для кэширования клиента - PullRequest
2 голосов
/ 22 сентября 2011

У меня есть служба WCF на основе REST, которая возвращает данные JSON в качестве ответа. Для повышения производительности кеширование вывода включено с местоположением ANY и продолжительностью 1 ч . Я хочу разрешить клиентам кэшировать ответ в течение периода 1 месяц , сохраняя данные, кэшированные на сервере, только в течение 1 часа, для этого я добавил следующие строки в свой код

HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(30));
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.Public);

но это значение переопределяется значением профиля Output Caching. Как я могу переопределить значение, установленное профилем кэширования вывода

1 Ответ

0 голосов
/ 15 декабря 2011

Я не проверял это, но это может помочь вам: как anir пишет здесь :

Заголовки для HttpCachePolicy добавляются asp.net после запуска модуля кэширования и поэтому не является частью кэшированного ответа.Если вы хотите, чтобы заголовки кэшировались, просто используйте HttpResponse.SetHeader / AddHeader и т. Д. В своем коде.

...