Профили кэширования профилей <>
Общие сведения
Элемент <profiles>
<caching>
элемента указывает профиль, используемый для кэширования выходных данных.
Совместимость
Версия | Примечания |
---|---|
IIS 10.0 | Элемент <profiles> не был изменен в IIS 10.0. |
IIS 8,5 | Элемент <profiles> не был изменен в IIS 8.5. |
IIS 8,0 | Элемент <profiles> не был изменен в IIS 8.0. |
IIS 7,5 | Элемент <profiles> не был изменен в IIS 7.5. |
IIS 7.0 | Элемент <profiles> элемента появился <caching> в IIS 7.0. |
IIS 6,0 | Н/Д |
Настройка
Элемент <profiles>
<caching>
элемента включен в установку IIS 7 по умолчанию.
Инструкции
Настройка кэширования выходных данных страниц
Откройте диспетчер служб IIS.
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, инструменты, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
- Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которых требуется настроить кэширование выходных данных страниц.
На панели Главная прокрутите страницу до пункта Кэширование выходных данных, а затем дважды щелкните кэширование выходных данных.
В области Действия нажмите кнопку Добавить...
В диалоговом окне Добавление правила кэша введите расширение имени файла, которое нужно кэшировать, в поле Расширение имени файла , а затем выберите параметр Кэширование в пользовательском режиме , кэширование в режиме ядра или оба варианта.
Выберите параметры, которые вы хотите использовать для кэширования, и нажмите кнопку ОК.
Конфигурация
Атрибуты
Отсутствует.
Дочерние элементы
Элемент | Описание |
---|---|
add |
Необязательный элемент. Добавляет профиль кэширования выходных данных в коллекцию профилей кэширования выходных данных. |
clear |
Необязательный элемент. Удаляет все ссылки на профили кэширования выходных данных из коллекции профилей кэширования выходных данных. |
remove |
Необязательный элемент. Удаляет ссылку на выходной профиль кэширования из коллекции профилей кэширования выходных данных. |
Образец конфигурации
В следующем примере конфигурации включается кэширование в пользовательском режиме и кэширование в режиме ядра, оба из которых включены по умолчанию в IIS 7.0. Он также использует элемент , <add>
содержащийся в элементе <profiles>
, для включения кэширования выходных данных для файлов с расширением .asp. Он также использует атрибут политики для вывода кэша страницы до тех пор, пока она не изменится. Он делает то же самое для кэширования ядра с помощью атрибута kernelCachePolicy .
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true">
<profiles>
<add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
</system.webServer>
</configuration>
В следующем примере кода максимальный размер кэша вывода устанавливается в 1 гигабайт, а максимальный размер ответа, который может храниться в кэше вывода, составляет 512 килобайт.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
</system.webServer>
</configuration>
Пример кода
В следующих примерах показано, как настроить кэширование выходных данных страниц для файлов с расширением ASP и настроить службы IIS для кэширования в пользовательском режиме и режиме ядра до тех пор, пока asp-файлы не изменятся.
AppCmd.exe
appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphost
фиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection cachingSection = config.GetSection("system.webServer/caching");
ConfigurationElementCollection profilesCollection = cachingSection.GetCollection("profiles");
ConfigurationElement addElement = profilesCollection.CreateElement("add");
addElement["extension"] = @"asp";
addElement["policy"] = @"CacheUntilChange";
addElement["kernelCachePolicy"] = @"CacheUntilChange";
profilesCollection.AddAt(0, addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim cachingSection As ConfigurationSection = config.GetSection("system.webServer/caching")
Dim profilesCollection As ConfigurationElementCollection = cachingSection.GetCollection("profiles")
Dim addElement As ConfigurationElement = profilesCollection.CreateElement("add")
addElement("extension") = "asp"
addElement("policy") = "CacheUntilChange"
addElement("kernelCachePolicy") = "CacheUntilChange"
profilesCollection.AddAt(0, addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST");
var profilesCollection = cachingSection.ChildElements.Item("profiles").Collection;
var addElement = profilesCollection.CreateNewElement("add");
addElement.Properties.Item("extension").Value = "asp";
addElement.Properties.Item("policy").Value = "CacheUntilChange";
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange";
profilesCollection.AddElement(addElement, 0);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST")
Set profilesCollection = cachingSection.ChildElements.Item("profiles").Collection
Set addElement = profilesCollection.CreateNewElement("add")
addElement.Properties.Item("extension").Value = "asp"
addElement.Properties.Item("policy").Value = "CacheUntilChange"
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange"
profilesCollection.AddElement addElement, 0
adminManager.CommitChanges()
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по