Freigeben über


Konfigurationsverlauf <configHistory>

Übersicht

Das <configHistory> Element definiert die Einstellungen für das integrierte IIS-Konfigurationsverlaufsfeature, die den Verlauf der Änderungen an Ihren Konfigurationsdateien verfolgt. Dieser Verlauf ist besonders hilfreich für die Wiederherstellung von Fehlern, die beim manuellen Bearbeiten Ihrer Konfigurationsdateien vorgenommen wurden.

Wenn Sie beispielsweise Änderungen an der Datei "ApplicationHost.config" vorgenommen haben und die Änderungen ungültige Syntax enthielten, würden Endbenutzer beim Browsen zu Ihrer Website den folgenden Fehler sehen:

HTTP-Fehler 503. Der Dienst ist nicht verfügbar.

Um das Problem zu beheben, müssen Sie nur den Ordner "ApplicationHost.config" aus dem Verlaufsordner in Ihren Ordner %windir%\system32\inetsrv\config kopieren, um den Betriebszustand des Servers wiederherzustellen.

Hinweis

Das Konfigurationsverlaufsfeature setzt voraus, dass der Anwendungshosthilfedienst auf Ihrem Server ausgeführt wird. Wenn dieser Dienst beendet oder deaktiviert ist, werden Änderungen an Ihren Konfigurationsdateien nicht im Verlaufsordner gespeichert.

Kompatibilität

Version Hinweise
IIS 10.0 Das <configHistory> Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <configHistory> Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <configHistory> Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <configHistory> Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <configHistory> Element wurde in IIS 7.0 eingeführt.
IIS 6.0 Das <configHistory> Element ersetzt die Attribute EnableHistory und MaxHistoryFiles des IIS 6.0 IIsComputerSetting-Metabasisobjekts.

Setup

Das <configHistory>-Element ist in der Standardinstallation von IIS 7 enthalten.

Gewusst wie

Es gibt keine Benutzeroberfläche zum Festlegen der Konfigurationsverlaufsoptionen für IIS 7. Beispiele zum programmgesteuerten Festlegen der Konfigurationsverlaufsoptionen finden Sie im Abschnitt Codebeispiele dieses Dokuments.

Konfiguration

Attribute

Attribut Beschreibung
enabled Optionales boolesches Attribut.

Gibt an, ob der Konfigurationsverlauf aktiviert ist.

Der Standardwert ist true.
path Optionales Zeichenfolgeattribut.

Gibt den Pfad zu den Konfigurationsverlaufsdateien an.

Der Standardwert ist %SystemDrive%\inetpub\history.
maxHistories Optionales Uint-Attribut.

Gibt die maximale Anzahl von Verlaufsdateien an, die beibehalten werden sollen.

Der Standardwert ist 10.
period Optionales timeSpan-Attribut.

Gibt das Intervall an, das IIS zum Überprüfen auf Konfigurationsänderungen verwendet.

Der Standardwert ist 00:02:00 (2 Minuten).

Untergeordnete Elemente

Keine.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel wird das Konfigurationsverlaufsfeature aktiviert, der Pfad der Verlaufsdateien auf %SystemDrive%\inetpub\history festgelegt, die maximale Anzahl von Verlaufsdateien auf 50 festgelegt und das Verlaufsintervall auf 5 Minuten festgelegt.

<system.applicationHost>
   <configHistory enabled="true"
      path="%SystemDrive%\inetpub\history"
      maxHistories="50"
      period="00:05:00" />
</system.applicationHost>

Beispielcode

Die folgenden Codebeispiele aktivieren den Konfigurationsverlauf für IIS 7 und konfigurieren die folgenden Optionen: Der Pfad der Verlaufsdateien wird auf %SystemDrive%\inetpub\history festgelegt, die maximale Anzahl von Verlaufsdateien ist auf 50 festgelegt, und das Zeitintervall für die Überprüfung der Konfigurationseinstellungen ist auf 5 Minuten festgelegt.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/configHistory /enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/configHistory /path:"%SystemDrive%\inetpub\history" /commit:apphost
appcmd.exe set config -section:system.applicationHost/configHistory /maxHistories:"50" /commit:apphost
appcmd.exe set config -section:system.applicationHost/configHistory /period:"00:05:00" /commit:apphost

Hinweis

Sie müssen unbedingt den Commitparameter auf apphost festlegen, 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 configHistorySection = config.GetSection("system.applicationHost/configHistory");
         configHistorySection["enabled"] = true;
         configHistorySection["path"] = @"%SystemDrive%\inetpub\history";
         configHistorySection["maxHistories"] = 50;
         configHistorySection["period"] = TimeSpan.Parse("00:05:00");

         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 configHistorySection As ConfigurationSection = config.GetSection("system.applicationHost/configHistory")
      configHistorySection("enabled") = True
      configHistorySection("path") = "%SystemDrive%\inetpub\history"
      configHistorySection("maxHistories") = 50
      configHistorySection("period") = TimeSpan.Parse("00:05:00")

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var configHistorySection = adminManager.GetAdminSection("system.applicationHost/configHistory", "MACHINE/WEBROOT/APPHOST");
configHistorySection.Properties.Item("enabled").Value = true;
configHistorySection.Properties.Item("path").Value = "%SystemDrive%\\inetpub\\history";
configHistorySection.Properties.Item("maxHistories").Value = 50;
configHistorySection.Properties.Item("period").Value = "00:05:00";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set configHistorySection = adminManager.GetAdminSection("system.applicationHost/configHistory", "MACHINE/WEBROOT/APPHOST")
configHistorySection.Properties.Item("enabled").Value = True
configHistorySection.Properties.Item("path").Value = "%SystemDrive%\inetpub\history"
configHistorySection.Properties.Item("maxHistories").Value = 50
configHistorySection.Properties.Item("period").Value = "00:05:00"

adminManager.CommitChanges()