ASP.Net Кэширование неверных страниц - PullRequest
1 голос
/ 06 декабря 2010

Поскольку содержимое домашней страницы моего сайта на основе базы данных меняется нечасто, я использую кэширование вывода ASP.Net, чтобы сохранить содержимое в течение 1 часа:

<%@ OutputCache Duration="3600" VaryByParam="none" %>

У меня есть простой HTML-комментарий наначало и конец элемента управления .ASCX, который я могу использовать для проверки правильности кэширования вывода (используя «просмотр источника» из браузера):

<!--  Cached Area (Created at: 10:08:08 PM)  Begin Cache -->

...

<!--  End Cached Area  -->

Само кэширование работает отлично.

Однако примерно один раз в день ASP.NET захватывает пустую область кэширования.Насколько я могу судить, это потому, что робот (или другой автоматизированный процесс) первым делом останавливается сайтом, когда предыдущий кеш становится недействительным, и из-за странных запросов от бота сайт создает пустой вывод... и затем кеширует его.

Конечно, этот «пустой» раздел сайта будет виден людям и в течение следующего часа.

Есть ли способ «запросить»«Выходной кэш, чтобы увидеть, что в нем?Или (еще лучше) изучить «предложенный» кеш и решить, пригоден ли он для губки… э-э, я имею в виду кеш?

Я хочу мгновенно сбросить (или никогда не кэшировать) выходные данные, если они не содержат товаров.

Примечание: проверка входящего запроса на достоверность не являетсяХорошее решение, поскольку перед выходным кешем могло произойти сложное взаимодействие.Мне нужно иметь возможность запрашивать сам кеш.

...