Freigeben über


Zwischenspeicherungsprofile <profiles>

Übersicht

Das <profiles>-Element des <caching>-Elements gibt ein Profil an, das für die Ausgabezwischenspeicherung verwendet werden soll.

Kompatibilität

Version Hinweise
IIS 10.0 Das <profiles>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <profiles>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <profiles>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <profiles>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <profiles>-Element des <caching>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 N/V

Setup

Das <profiles>-Element des <caching>-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 I I S Manager window. Output Caching is selected in the main pane.

  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. User-mode caching and kernel-mode caching are checked.

Konfiguration

Attribute

Keine

Untergeordnete Elemente

Element Beschreibung
add Optionales Element.

Fügt der Sammlung von Ausgabezwischenspeicherungsprofilen ein Ausgabezwischenspeicherungsprofil hinzu.
clear Optionales Element.

Entfernt alle Verweise auf Ausgabezwischenspeicherungsprofile aus der Sammlung von Ausgabezwischenspeicherungsprofilen.
remove Optionales Element.

Entfernt einen Verweis auf ein Ausgabezwischenspeicherungsprofil aus der Sammlung von Ausgabezwischenspeicherungsprofilen.

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()