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


Класс CachingProfileElement

Настраивает кэширование для заданного расширения запроса.

Синтаксис

class CachingProfileElement : CollectionElement  

Методы

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

Свойства

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

Имя Описание
Duration Значение для чтения и записи datetime , указывающее, сколько времени ответ должен оставаться в кэше. По умолчанию это 30 секунд. Допустимый диапазон времени — от 0 до 365 дней.
Extension Обязательное уникальное значение для чтения и записи string , указывающее расширение запроса, который будет использовать профиль кэша. Расширение должно иметь вид "EXT" или "*", где EXT — это расширение. Ключевое свойство. Примечание: Перекрывающиеся записи расширения не допускаются. Каждый запрос сопоставляется ровно с одним CachingProfileElement объектом. Если существует запись со знаком "*", другие профили кэширования с более конкретными расширениями переопределяют профиль звездочкой. Порядок записей профиля не важен.
KernelCachePolicy Значение для чтения и записи sint32 , которое настраивает политику кэширования ядра. Возможные значения перечислены далее в разделе Примечания.
Location Значение для чтения и записи sint32 , указывающее возможные расположения для кэша вывода. Возможные значения перечислены далее в разделе Примечания.
Policy Значение для чтения и записи sint32 , которое настраивает политику кэширования выходных данных. Возможные значения перечислены далее в разделе Примечания.
VaryByHeaders Значение для чтения и записи string , содержащее разделенный запятыми список имен заголовков, которые сервер будет использовать для изменения кэшированных ответов на URL-адрес.
VaryByQueryString Значение для чтения и записи string , содержащее разделенный запятыми список имен параметров строки запроса, которые сервер будет использовать для изменения кэшированных ответов на URL-адрес.

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

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

Комментарии

Этот класс соответствует элементу <system.webServer/caching> в <profiles> разделе в файле ApplicationHost.config. Экземпляры этого класса содержатся в свойстве Profiles array класса CachingProfileSettings .

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

Значение Ключевое слово Описание
0 DontCache Ответ не будет кэшироваться в ядре. Однако кэширование выходных данных по-прежнему может выполняться. Примечание: Этот параметр переопределяет все конфликтующие параметры в свойстве Location .
1 CacheUntilChange Ответ кэшируется в кэше HTTP.SYS до тех пор, пока запись не будет признана недействительной или не истечет после периода бездействия, указанного свойством Duration .
2 CacheForTimePeriod Ответ кэшируется на время, указанное свойством Duration , даже если запись недействительна в промежуточном режиме.
3 DisableCache Кэш отключен, кэширование не выполняется.

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

Значение Ключевое слово Описание
0 Any Ответ можно кэшировать на клиенте, веб-сервере или прокси-сервере.
1 Client Ответ кэшируется только на клиенте.
2 Downstream Ответ кэшируется на прокси-серверах и на клиенте, но не на веб-сервере.
3 Server Ответ кэшируется только на веб-сервере.
4 None Ответ нигде не кэшируется.
5 ServerAndClient Ответ кэшируется как на веб-сервере, так и на клиенте, но не на прокси-серверах. Примечание: Этот параметр можно использовать, чтобы избежать совместного использования содержимого несколькими пользователями в кэше прокси-сервера, если сервер имеет разное поведение для частного содержимого.

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

Значение Ключевое слово Описание
0 DontCache Ответ не будет помещен в кэш вывода. Однако кэширование ядра по-прежнему может происходить.
1 CacheUntilChange Ответ кэшируется до тех пор, пока запись не будет признана недействительной или не истечет по истечении периода бездействия, указанного свойством Duration .
2 CacheForTimePeriod Ответ кэшируется на время, указанное свойством Duration , даже если запись недействительна в промежуточном режиме.
3 DisableCache Кэш отключен, кэширование не выполняется.

Пример

В следующем примере отображаются CachingProfileElement все объекты для веб-сайта по умолчанию.

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the caching section for the default Web site.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "CachingSection", oSection  

' Display the path and location.  
Wscript.Echo "Path: " & oSection.Path  
Wscript.Echo "Location: " & oSection.Location  
Wscript.Echo

' Display all of the caching profiles for the default Web site.  
For Each oCachingProfileElement In oSection.Profiles.Profiles  
    Wscript.Echo
    WScript.Echo "[ " & oCachingProfileElement.Extension & _  
        " ] Caching Profile"  
    WScript.Echo "-----------------------------------"  
    WScript.Echo "Duration: " & oCachingProfileElement.Duration  
    WScript.Echo "KernelCachePolicy: " & _  
        CachePolicyText(oCachingProfileElement.KernelCachePolicy)  
    WScript.Echo "Location: " & _  
        LocationText(oCachingProfileElement.Location)  
    WScript.Echo "Policy: " & _  
        CachePolicyText(oCachingProfileElement.Policy)  
    WScript.Echo "VaryByHeaders: " & _  
        oCachingProfileElement.VaryByHeaders  
    WScript.Echo "VaryByQueryString: " & _  
        oCachingProfileElement.VaryByQueryString  
    WScript.Echo
Next  

' Provide text for KernelCachePolicy and Policy enumeration values.  
Function CachePolicyText(enumval)  

    Select Case enumval  
        Case 0  
            CachePolicyText="DontCache"  
        Case 1  
            CachePolicyText="CacheUntilChange"  
        Case 2  
            CachePolicyText="CacheForTimePeriod"  
        Case 3  
            CachePolicyText="DisableCache"  
        Case Else  
            CachePolicyText="Undefined enumeration value"  
    End Select  

End Function  

' Provide text for Location enumeration values.  
Function LocationText(enumval)  

    Select Case enumval  
        Case 0  
            LocationText="Any"  
        Case 1  
            LocationText="Client"  
        Case 2  
            GetLocationText="Downstream"  
        Case 3  
            LocationText="Server"  
        Case 4  
            LocationText="None"  
        Case 5  
            LocationText="ServerAndClient"  
        Case Else  
            LocationText="Undefined enumeration value"  
    End Select  

End Function

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

CollectionElement

CachingProfileElement

Требования

Тип Описание
клиент — 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

См. также:

Класс AspCache
Класс CachingProfileSettings
Класс CachingSection
Класс CollectionElement
Класс HttpClientCache