Поделиться через


Класс HttpCachePolicySettings

Представляет политику HTTP-кэширования сетевых ресурсов.

Синтаксис

class HttpCachePolicySettings : EmbeddedObject  

Методы

Этот класс не содержит методов.

Свойства

В следующей таблице перечислены свойства, предоставляемые классом HttpCachePolicySettings .

Имя Описание
MaximumAge Значение для чтения и записи datetime , указывающее максимальный срок действия ресурса, возвращаемого из кэша. По умолчанию используется значение infinite (бесконечно).

Если кэшированная копия ресурса старше указанного значения времени, необходимо повторно проверить ресурс, сравнив кэшированный ресурс с ресурсом на сервере.
MaximumStale Значение для чтения и записи datetime , указывающее время, в течение которого кэшированная копия ресурса может использоваться после истечения срока действия содержимого. Значение по умолчанию равно 0.
MinimumFresh Значение для чтения и записи datetime , указывающее время, в течение которого кэшированная копия ресурса может использоваться до истечения срока действия содержимого. Значение по умолчанию равно 0.
PolicyLevel Значение для чтения и записи sint32 , указывающее поведение кэширования HTTP для локального компьютера. Возможные значения перечислены далее в разделе Примечания.

используются подклассы ;

Этот класс не содержит подклассов.

Комментарии

Экземпляры этого класса содержатся в свойстве DefaultHttpCachePolicy класса RequestCachingSection .

В следующей таблице перечислены возможные значения свойства PolicyLevel . Значение по умолчанию — 0 (Default).

Значение Ключевое слово Описание
0 Default Выполняет запрос ресурса с помощью кэшированной копии ресурса или путем отправки запроса ресурса на сервер. Выполняемое действие определяется текущей политикой кэша и временем существования содержимого кэша. Это уровень кэша, который следует использовать большинству приложений.
1 BypassCache Выполняет запрос, используя сервер. Записи не берутся из кэшей, не добавляются в кэши и не удаляются из кэшей между клиентом и сервером. Это поведение кэша по умолчанию, указанное в файле конфигурации компьютера, который входит в состав платформа .NET Framework.
2 CacheOnly Выполняет запрос с помощью локально кэшированного ресурса; не отправляет запрос на элемент, который отсутствует в кэше. Если указан этот уровень политики кэша, создается исключение WebException , если элемент не находится в кэше клиента.
3 CacheIfAvailable Выполняет запрос ресурса из кэша, если ресурс доступен в кэше; в противном случае отправляет запрос на ресурс на сервер. Если запрошенный элемент недоступен в локальном кэше, но доступен в кэше между клиентом и сервером, промежуточный кэш удовлетворяет запросу.
4 Revalidate Выполняет запрос, используя кэшированную копию ресурса, если метка времени совпадает с меткой времени ресурса на сервере; В противном случае ресурс загружается с сервера, представляется вызывающей объекту и сохраняется в кэше.
5 Reload Выполняет запрос, используя сервер. Ответ может быть сохранен в кэше в зависимости от параметров директивы no-cache управления кэшем и заголовка Pragma: no-cache в протоколе кэширования HTTP.
6 NoCacheNoStore Никогда не удовлетворяет запросу, используя ресурсы из кэша, и не кэширует ресурсы. Если ресурс есть в локальном кэше, он удаляется. Этот уровень политики указывает, что ресурс должен быть удален из промежуточных кэшей. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем no-cache .
7 CacheOrNextCacheOnly Удовлетворяет запросу ресурса из кэша локального компьютера или удаленного кэша в локальной сети. Если не удается выполнить запрос, генерируется исключение WebException. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем only-if-cached .
8 Refresh Выполняет запрос, используя сервер или кэш, отличный от локального. Прежде чем промежуточный кэш сможет удовлетворить запрос, он должен повторно проверить свою кэшированную запись на сервере. В протоколе кэширования HTTP это достигается с помощью директивы max-age = 0 управления кэшем и заголовка Pragma:``no-cache .

Пример

В следующем примере кода указывается политика кэширования HTTP и задаются значения для MinimumFreshсвойств , MaximumStaleи MaximumAge .

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the RequestCachingSection.  
Set oSection = oWebAdmin.Get("RequestCachingSection.Path=" & _  
    "'MACHINE/WEBROOT/APPHOST',Location=''")  
  
' Display the class name of the section.  
WScript.Echo "[ " & oSection.Path_.Class & " ]"  
  
' Display the initial values for the DefaultHttpCachePolicy property.  
Call DisplayValues("Initial Values", oSection.DefaultHttpCachePolicy)  
  
' Set the http cache policy to use the default.  
oSection.DefaultHttpCachePolicy.PolicyLevel = 0  
  
' Set the MinimumFresh property to 30 minutes.  
oSection.DefaultHttpCachePolicy.MinimumFresh = "00000000003000.000000:000"  
  
' Set the MaximumStale property to 10 minutes.  
oSection.DefaultHttpCachePolicy.MaximumStale = "00000000001000.000000:000"  
  
' Set the MaximumAge property to 1 hour.  
oSection.DefaultHttpCachePolicy.MaximumAge =   "00000000010000.000000:000"  
  
' Save the values to configuration.  
oSection.Put_  
  
' Refresh the oSection object variable with the new values.  
oSection.Refresh_  
  
' Show the changed values.  
Call DisplayValues("New Values", oSection.DefaultHttpCachePolicy)  
  
' ==== DisplayValues helper function. ====  
Function DisplayValues(HeadingText, oObject)  
    WScript.Echo  
    WScript.Echo String(Len(HeadingText), "=")  
    WScript.Echo HeadingText  
    WScript.Echo String(Len(HeadingText), "=")  
  
    For Each Prop In oObject.Properties_  
        WScript.Echo Prop.Name & ": " & Prop.Value  
    Next  
End Function  
  

Иерархия наследования

EmbeddedObject

HttpCachePolicySettings

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 на Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
MOF-файл WebAdministration.mof

См. также:

Класс EmbeddedObject
Класс FtpCachePolicySettings
Класс RequestCachingSection
CIM_DATETIME