Что может помешать ASP.NET кэшированию вывода?

У меня есть приложение ASP.NET, и я пытаюсь вывести из кеша определенную страницу, однако при каждом запросе отладчик по-прежнему использует метод OnLoad, и я получаю ответ 200.

Я разместил директиву кэша вывода на странице следующим образом:

<%@ OutputCache Duration="60" VaryByParam="None" %>

И убедитесь, что у меня есть модуль OutputCache

<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>

И еще на всякий случай обошли стороной перезапись URL. Я пробовал это с помощью Cassini и IIS 5.1 (XP), однако страница вообще не кэшируется.

Есть ли другие факторы, которые я не изучал, которые могут повлиять на эту функцию?

Спасибо


person amarsuperstar    schedule 03.03.2010    source источник


Ответы (1)


У меня такая же проблема. Я обнаружил, что эта строка кода вызывается при обработке запроса, который мне не удалось кэшировать:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

Комментируя это, кеширование вывода снова заработало. Я бы предположил, что приведенная выше строка повлияет только на заголовки, отправленные клиенту / браузеру. Убедитесь, что ничего подобного не выполняется на любом этапе жизненного цикла страницы.

person Adam Nofsinger    schedule 08.05.2010