Класс 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
Иерархия наследования
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