Hinzufügen von Zwischenspeicherungsprofilen <add>
Übersicht
Das <add>
-Element des <profiles>
-Elements fügt der Sammlung von Ausgabezwischenspeicherungsprofilen ein Ausgabezwischenspeicherungsprofil hinzu.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <add> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <add> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <add> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <add> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <add> -Element des <profiles> -Elements wurde in IIS 7.0 eingeführt. |
IIS 6.0 | N/V |
Setup
Das <add>
-Element des <profiles>
-Elements ist in der Standardinstallation von IIS 7 enthalten.
Gewusst wie
Konfigurieren der Seitenausgabezwischenspeicherung
Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):
Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:
- Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows 8 oder Windows 8.1:
- Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
- Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Vorgehensweise unter Windows Vista oder Windows 7:
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
Navigieren Sie im Bereich Verbindungen zu dem Element, für das Sie die Seitenausgabezwischenspeicherung aktivieren möchten. Dabei kann es sich um eine Verbindung, eine Site, eine Anwendung oder ein Verzeichnis handeln.
Scrollen Sie im Bereich Start zu Ausgabezwischenspeicherung, und doppelklicken Sie dann auf Ausgabezwischenspeicherung.
Klicken Sie im Bereich Aktionen auf Hinzufügen....
Geben Sie im Dialogfeld Cacheregel hinzufügen im Feld Dateinamenerweiterung die Dateinamenerweiterung ein, die Sie zwischenspeichern möchten, und wählen Sie anschließend die Option Zwischenspeicherung im Benutzermodus, die Option Zwischenspeicherung im Kernelmodus oder beide Optionen aus.
Wählen Sie die gewünschten Optionen für das Zwischenspeichern aus, und klicken Sie anschließend auf OK.
Konfiguration
Attribute
Attribut | Beschreibung | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
duration |
Optionales timeSpan-Attribut. Gibt an, wie viele Sekunden die Seite oder das Benutzersteuerelement zwischengespeichert wird. Der Standardwert ist 00:00:30 . |
||||||||||||||
extension |
Erforderliches Zeichenfolgenattribut. Gibt die Dateinamenerweiterung für die Dateien an, die Sie zwischenspeichern möchten. |
||||||||||||||
kernelCachePolicy |
Optionales enum-Attribut. Konfiguriert die Kernelzwischenspeicherungsrichtlinie. Das kernelCachePolicy-Attribut kann einen der folgenden Werte haben. Der Standardwert ist DontCache .
|
||||||||||||||
location |
Optionales enum-Attribut. Gibt die gültigen Werte zum Steuern des Speicherorts der zwischengespeicherten Ausgabe der HTTP-Antwort für eine Ressource an. Das location-Attribut kann einen der folgenden Werte haben: Der Standardwert ist Server .
|
||||||||||||||
policy |
Optionales enum-Attribut. Konfiguriert die Ausgabezwischenspeicherungsrichtlinie. Das policy-Attribut kann einen der folgenden Werte haben. Der Standardwert ist DontCache .
|
||||||||||||||
varyByHeaders |
Optionales Zeichenfolgeattribut. Gibt eine durch Semikolons getrennte Liste von HTTP-Headern an, die zum Variieren des Ausgabecaches verwendet werden. Wenn dieses Attribut auf mehrere Header festgelegt ist, enthält der Ausgabecache für jede Kombination der angegebenen Header eine andere Version des angeforderten Dokuments. |
||||||||||||||
varyByQueryString |
Optionales Zeichenfolgeattribut. Gibt eine durch Semikolons getrennte Liste von Zeichenfolgen an, die zum Variieren des Ausgabecaches verwendet werden. Standardmäßig entsprechen diese Zeichenfolgen einem Abfragezeichenfolgenwert, der mit GET-Methodenattributen gesendet wird, oder einem Parameter, der mithilfe der POST-Methode gesendet wird. Wenn dieses Attribut auf mehrere Parameter festgelegt ist, enthält der Ausgabecache für jede Kombination der angegebenen Parameter eine andere Version des angeforderten Dokuments. Mögliche Werte sind „None“, ein Sternchen (*) sowie alle gültigen Abfragezeichenfolgen oder POST-Parameternamen. |
Untergeordnete Elemente
Keine.
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel werden die Zwischenspeicherung im Benutzermodus und die Zwischenspeicherung im Kernelmodus aktiviert. Beide sind in IIS 7.0 standardmäßig aktiviert. Außerdem wird das im <profiles>
-Element enthaltene <add>
-Element verwendet, um die Ausgabezwischenspeicherung für Dateien mit der Dateinamenerweiterung „.asp“ zu aktivieren. Des Weiteren wird das policy-Attribut verwendet, um die Seite im Ausgabecache zwischenzuspeichern, bis sie sich ändert. Das Gleiche wird für die Kernelzwischenspeicherung unter Verwendung des kernelCachePolicy-Attributs durchgeführt.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true">
<profiles>
<add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
</system.webServer>
</configuration>
Im folgenden Codebeispiel wird die maximale Größe des Ausgabecache auf 1 Gigabyte und die maximale Größe einer Antwort, die im Ausgabecache gespeichert werden kann, auf 512 Kilobytes festgelegt.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
</system.webServer>
</configuration>
Beispielcode
In den folgenden Beispielen wird die Seitenausgabezwischenspeicherung für Dateien mit der Dateinamenerweiterung „.asp“ konfiguriert. Außerdem wird IIS so konfiguriert, dass die Zwischenspeicherung im Benutzermodus und im Kernelmodus erfolgt, bis sich ASP-Dateien ändern.
AppCmd.exe
appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost
Hinweis
Legen Sie den commit-Parameter auf apphost
fest, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.
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()