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