Freigeben über


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

  1. Ö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).
  2. 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.

  3. Scrollen Sie im Bereich Start zu Ausgabezwischenspeicherung, und doppelklicken Sie dann auf Ausgabezwischenspeicherung.
    Screenshot of the Home pane with the Output Caching icon being highlighted.

  4. Klicken Sie im Bereich Aktionen auf Hinzufügen....

  5. 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.

  6. Wählen Sie die gewünschten Optionen für das Zwischenspeichern aus, und klicken Sie anschließend auf OK.
    Screenshot of the Add Cache Rule dialog box, showing the File name extension field.

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.
Wert Beschreibung
DontCache Inhalte werden nicht zwischengespeichert.

Der numerische Wert ist 0.
CacheUntilChange Inhalte werden nur zwischengespeichert, bis sie sich ändern.

Der numerische Wert ist 1.
CacheForTimePeriod Inhalte werden für den durch das duration-Attribut angegebenen Zeitraum zwischengespeichert.

Der numerische Wert ist 2.
DisableCache Der Cache ist deaktiviert, und es findet keine Zwischenspeicherung statt.

Der numerische Wert ist 3.
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.
Wert Beschreibung
Any Der Speicherort des Ausgabecaches kann sich auf dem Browserclient (von dem die Anforderung stammt), auf einem an der Anforderung beteiligten Proxyserver (bzw. beliebigen anderen beteiligten Servern) oder auf dem Server befinden, auf dem die Anforderung verarbeitet wurde.

Der numerische Wert ist 0.
Client Der Ausgabecache befindet sich auf dem Browserclient, von dem die Anforderung stammt.

Der numerische Wert ist 1.
Downstream Der Ausgabecache kann in jedem cachefähigen HTTP 1.1-Gerät gespeichert werden, jedoch nicht auf dem Ausgangsserver. Dies schließt Proxyserver und den Client ein, von dem die Anforderung stammt.

Der numerische Wert ist 2.
Server Der Ausgabecache befindet sich auf dem Webserver, auf dem die Anforderung verarbeitet wurde.

Der numerische Wert ist 3.
None Der Ausgabecache wird für die angeforderte Seite deaktiviert.

Der numerische Wert ist 4.
ServerAndClient Der Ausgabecache kann nur auf dem Ausgangsserver oder dem anfordernden Client gespeichert werden. Die Zwischenspeicherung der Antwort durch Proxyserver ist nicht zulässig.

Der numerische Wert ist 5.
policy Optionales enum-Attribut.

Konfiguriert die Ausgabezwischenspeicherungsrichtlinie.

Das policy-Attribut kann einen der folgenden Werte haben. Der Standardwert ist DontCache.
Wert Beschreibung
DontCache Inhalte werden nicht zwischengespeichert.

Der numerische Wert ist 0.
CacheUntilChange Inhalte werden nur zwischengespeichert, bis sie sich ändern.

Der numerische Wert ist 1.
CacheForTimePeriod Inhalte werden für den durch das duration-Attribut angegebenen Zeitraum zwischengespeichert.

Der numerische Wert ist 2.
DisableCache Der Cache ist deaktiviert, und es findet keine Zwischenspeicherung statt.

Der numerische Wert ist 3.
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()