ASP.NET Кэширование - PullRequest
       10

ASP.NET Кэширование

3 голосов
/ 30 декабря 2008

Я не могу заставить его работать. Возможно, я даже не проверяю это правильно. У меня есть строка <% = DateTime.Now.ToString ()%> на моей странице aspx. Я пытался настроить кеширование таким образом

<%@ OutputCache VaryByParam="SchoolId" Duration="180" Location="Server" NoStore="false" %>

Я также пытался установить его программно через объект Response.Cache. Временная метка всегда меняется.

У web.config изначально не было секции outputCache. Я добавил один, который выглядит как

<outputCache enableOutputCache="true" enableFragmentCache="true" sendCacheControlHeader="true" omitVaryStar="false"/>

Всегда изменяется отметка времени. Что мне попробовать дальше?

Ответы [ 3 ]

3 голосов
/ 31 декабря 2008

тьфу. Проблема заключалась в Response.Cache.SetCacheability (HttpCacheability.NoCache) в Page_Load пользовательского элемента управления, скрытого на 3 уровнях от страницы. Я ценю помощь, хотя.

-al

2 голосов
/ 30 декабря 2008

Это должно быть довольно легко включить. Я сделал это в прошлом, установив директиву OutputCache в моем aspx. Я не думаю, что изменения web.config необходимы, поскольку кэширование обычно включено по умолчанию.

Вы тестируете с IIS или с веб-сервером dev? Делаете ли вы что-нибудь, что могло бы привести к перезагрузке веб-сервера (т. Е. Сборке) между тестами?

1 голос
/ 30 декабря 2008

Я не думаю, что это будет работать, потому что DateTime.Now - это свойство, которое всегда обновляется. Вы должны сохранить его в другой переменной, иначе извлеките его из кэша.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...