2010-04-20 2 views
4

Можно ли определить, собирается ли страница ASP.NET кэшироваться, и если да, то как?Как определить (с кодом на стороне сервера), будет ли страница ASP.NET уже кэшироваться (при первом запросе)?

Объект HttpCachePolicy предоставляет только set-methods. Коллекция значений VaryByParams бесполезна, если значения, отличные от «Нет» и «*», установлены так, как невозможно их перечислить, и вы можете получить к ним доступ только по ключу.

Кроме того, я не могу использовать Reflection.

Любые идеи?

ответ

1

Один подход, который может работать, если вы используете ASP.NET 4.0, - это реализовать собственный пользовательский интерфейс OutputCacheProvider. Затем вы можете добавить свою логику обнаружения внутри поставщика.

См. MSDN ASP.NET Caching Overview примеры добавления поставщика в ваш web.config и использование атрибута providerName в директиве @Page или @Control.

+0

Благодарим за отзыв. К сожалению, мне нужно решение 2.0+. В моем текущем исследовании нет никакого способа сделать это - ASP.NET эффективно закрывает каждую дверь в «закрытый» кэш (где он фактически кэширует вещи), и никто не может даже прочитать одно свойство, выдающее любую информацию о кэше, или же страница собирается получить кеширование или нет. – simich