Configuration History <configHistory>
Vue d’ensemble
L’élément <configHistory>
définit les paramètres de la fonctionnalité d’historique de configuration IIS intégrée, qui conserve un historique continu des modifications apportées à vos fichiers de configuration. Cet historique est particulièrement utile pour récupérer des erreurs commises lors de la modification manuelle de vos fichiers de configuration.
Par exemple, si vous apportez des modifications à votre fichier ApplicationHost.config et que les modifications contiennent une syntaxe non valide, les utilisateurs finaux verront l’erreur suivante en naviguant sur votre site web :
Erreur HTTP 503. Le service n’est pas disponible.
Pour résoudre le problème, il vous faut juste copier ApplicationHost.config à partir du dossier d’historique dans votre dossier %windir%\system32\inetsrv\config afin de restaurer votre serveur à un état opérationnel.
Remarque
La fonctionnalité d’historique de configuration nécessite que le service d’aide de l’hôte d’application soit en cours d’exécution sur votre serveur. Si ce service est arrêté ou désactivé, les modifications apportées à vos fichiers de configuration ne sont pas conservées dans le dossier d’historique.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <configHistory> n’a fait l’objet d’aucune modification dans IIS 10.0. |
IIS 8.5 | L’élément <configHistory> n’a fait l’objet d’aucune modification dans IIS 8.5. |
IIS 8.0 | L’élément <configHistory> n’a fait l’objet d’aucune modification dans IIS 8.0. |
IIS 7.5 | L’élément <configHistory> n’a fait l’objet d’aucune modification dans IIS 7.5. |
IIS 7.0 | L’élément <configHistory> a été introduit dans IIS 7.0. |
IIS 6.0 | L’élément <configHistory> remplace les attributs EnableHistory et MaxHistoryFiles de l’objet métabase IIsComputerSetting IIS 6.0. |
Programme d’installation
L’élément <configHistory>
est inclus dans l’installation par défaut d’IIS 7.
Procédure
Il n’existe aucune interface utilisateur pour définir les options d’historique de configuration pour IIS 7. Pour obtenir des exemples de définition des options d’historique de configuration par programmation, consultez la section Exemples de code de ce document.
Configuration
Attributs
Attribut | Description |
---|---|
enabled |
Attribut booléen facultatif. Spécifie si l’historique de configuration est activé. La valeur par défaut est true . |
path |
Attribut de chaîne facultatif. Spécifie le chemin d’accès aux fichiers d’historique de configuration. La valeur par défaut est %SystemDrive%\inetpub\history . |
maxHistories |
Attribut uint facultatif. Spécifie le nombre maximal de fichiers d’historique à conserver. La valeur par défaut est 10 . |
period |
Attribut timeSpan facultatif. Spécifie l’intervalle auquel IIS vérifie les modifications de configuration. La valeur par défaut est 00:02:00 (deux minutes). |
Éléments enfants
Aucune.
Exemple Configuration
L’exemple de configuration suivant active la fonctionnalité d’historique de configuration, définit le chemin des fichiers d’historique sur %SystemDrive%\inetpub\history, définit le nombre maximal de fichiers d’historique sur 50 et définit l’intervalle d’historique sur 5 minutes.
<system.applicationHost>
<configHistory enabled="true"
path="%SystemDrive%\inetpub\history"
maxHistories="50"
period="00:05:00" />
</system.applicationHost>
Exemple de code
Les exemples de code suivants activent l’historique de configuration pour IIS 7 et configurent les options suivantes : le chemin des fichiers d’historique est défini sur %SystemDrive%\inetpub\history, le nombre maximal de fichiers d’historique est défini sur 50 et l’intervalle de temps auquel vérifier les paramètres de configuration est défini sur 5 minutes.
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
Remarque
Vous devez veiller à définir le paramètre commit sur apphost
quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.
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()