Поскольку содержимое домашней страницы моего сайта на основе базы данных меняется нечасто, я использую кэширование вывода 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 захватывает пустую область кэширования.Насколько я могу судить, это потому, что робот (или другой автоматизированный процесс) первым делом останавливается сайтом, когда предыдущий кеш становится недействительным, и из-за странных запросов от бота сайт создает пустой вывод... и затем кеширует его.
Конечно, этот «пустой» раздел сайта будет виден людям и в течение следующего часа.
Есть ли способ «запросить»«Выходной кэш, чтобы увидеть, что в нем?Или (еще лучше) изучить «предложенный» кеш и решить, пригоден ли он для губки… э-э, я имею в виду кеш?
Я хочу мгновенно сбросить (или никогда не кэшировать) выходные данные, если они не содержат товаров.
Примечание: проверка входящего запроса на достоверность не являетсяХорошее решение, поскольку перед выходным кешем могло произойти сложное взаимодействие.Мне нужно иметь возможность запрашивать сам кеш.