Что помешает ASP.NET кешировать данные? - PullRequest
2 голосов
/ 03 марта 2010

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

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

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

И у меня есть модуль OutputCache

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

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

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

Спасибо

1 Ответ

4 голосов
/ 09 мая 2010

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

Response.Cache.SetCacheability(HttpCacheability.NoCache);

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

...