Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общие сведения
Элемент <configHistory> определяет параметры для встроенной функции журнала конфигурации IIS, которая хранит журнал изменений в файлах конфигурации. Этот журнал особенно полезен для восстановления после ошибок, допущенных при редактировании файлов конфигурации вручную.
Например, если вы вносите изменения в файл ApplicationHost.config, а изменения содержат недопустимый синтаксис, конечные пользователи увидят следующую ошибку при переходе на веб-сайт:
Ошибка: HTTP 503 — Служба недоступна.
Чтобы устранить эту проблему, достаточно скопировать ApplicationHost.config из папки журнала в папку %windir%\system32\inetsrv\config, чтобы восстановить работоспособное состояние сервера.
Примечание
Для функции журнала конфигурации требуется, чтобы на сервере была запущена служба справки узла приложений ; Если эта служба остановлена или отключена, изменения в файлах конфигурации не будут храниться в папке журнала.
Совместимость
| Версия | Примечания |
|---|---|
| IIS 10.0 | Элемент <configHistory> не был изменен в IIS 10.0. |
| IIS 8,5 | Элемент <configHistory> не был изменен в IIS 8.5. |
| IIS 8,0 | Элемент <configHistory> не был изменен в IIS 8.0. |
| IIS 7,5 | Элемент <configHistory> не был изменен в IIS 7.5. |
| IIS 7.0 | Элемент <configHistory> появился в IIS 7.0. |
| IIS 6,0 | Элемент <configHistory> заменяет атрибуты EnableHistory и MaxHistoryFiles объекта метабазыIIsComputerSetting IIS 6.0. |
Настройка
Элемент <configHistory> включен в установку iis 7 по умолчанию.
Инструкции
Отсутствует пользовательский интерфейс для настройки параметров журнала конфигурации для IIS 7. Примеры установки параметров журнала конфигурации программным способом см. в разделе Примеры кода этого документа.
Конфигурация
Атрибуты
| Атрибут | Описание |
|---|---|
enabled |
Дополнительный логический атрибут. Указывает, включен ли журнал конфигурации. Значение по умолчанию — true. |
path |
Необязательный строковый атрибут. Указывает путь к файлам журнала конфигурации. Значение по умолчанию — %SystemDrive%\inetpub\history. |
maxHistories |
Необязательный атрибут uint. Указывает максимальное количество файлов журнала для хранения. Значение по умолчанию — 10. |
period |
Необязательный атрибут timeSpan. Указывает интервал, используемый службами IIS для проверка изменений конфигурации. Значение по умолчанию — 00:02:00 (две минуты). |
Дочерние элементы
Отсутствует.
Образец конфигурации
Следующий пример конфигурации включает функцию журнала конфигурации, устанавливает путь к файлам журнала %SystemDrive%\inetpub\history, задает максимальное количество файлов журнала 50 и задает интервал журнала 5 минут.
<system.applicationHost>
<configHistory enabled="true"
path="%SystemDrive%\inetpub\history"
maxHistories="50"
period="00:05:00" />
</system.applicationHost>
Пример кода
Следующие примеры кода позволяют включить журнал конфигурации для IIS 7 и настроить следующие параметры: путь к файлам журнала — %SystemDrive%\inetpub\history, максимальное число файлов журнала — 50, а интервал времени для проверки параметров конфигурации — 5 минут.
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
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле 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()