Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общие сведения
Элемент <serviceAutoStartProviders> задает коллекцию управляемых сборок, которую служба активации windows (WAS) будет загружать автоматически, если startMode атрибуту пула приложений присвоено значение AlwaysRunning. Эта коллекция позволяет разработчикам указывать сборки, выполняющие задачи инициализации перед обслуживанием HTTP-запросов. Например, разработчик приложения может захотеть установить начальную подключения к базе данных для приложения до начала обработки запросов IIS. Это позволит приложению быстрее выполнять начальные запросы, требующие круговых путей к базе данных и из нее.
Дополнительные сведения о настройке автоматического запуска пулов приложений см. в <applicationPools> этой статье.
Примечание
Этот элемент появился в IIS 7.5.
Совместимость
| Версия | Примечания |
|---|---|
| IIS 10.0 | Элемент <serviceAutoStartProviders> не был изменен в IIS 10.0. |
| IIS 8,5 | Элемент <serviceAutoStartProviders> не был изменен в IIS 8.5. |
| IIS 8,0 | Элемент <serviceAutoStartProviders> не был изменен в IIS 8.0. |
| IIS 7,5 | Элемент <serviceAutoStartProviders> появился в IIS 7.5. |
| IIS 7.0 | Н/Д |
| IIS 6,0 | Н/Д |
Настройка
Элемент <serviceAutoStartProviders> включен в установку IIS 7.5 по умолчанию.
Инструкции
Настройка поставщика автозапуска службы
Примечание
Прямой пользовательский интерфейс, позволяющий настроить <serviceAutoStartProviders> элемент, отсутствует, поэтому в следующих шагах будет использоваться функция редактора конфигурации IIS.
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения щелкните имя сервера.
На панели Главная дважды щелкните компонент Редактор конфигурации .
В раскрывающемся меню Раздел разверните system.applicationHost и выберите serviceAutoStartProviders.
Щелкните многоточие (...) в правой части поля (Коллекция).
В области Действия нажмите Добавить.
При появлении диалогового окна Редактор коллекций:
В области Действия нажмите кнопку Применить.
Примечание
В этом разделе содержатся сведения об изменении параметров IIS с помощью редактора конфигурации IIS. Неправильное изменение параметров конфигурации IIS может серьезно повредить установку IIS. Поэтому будьте внимательны и в точности следуйте инструкциям. Для дополнительной безопасности необходимо создать резервную копию параметров конфигурации IIS, прежде чем использовать редактор конфигурации IIS для внесения каких-либо изменений. Дополнительные сведения о резервном копировании параметров конфигурации IIS и использовании редактора конфигурации IIS см. в следующих разделах:
-
Резервное копирование конфигурации IIS 7
https://technet.microsoft.com/library/dd819406.aspx -
Страница редактора конфигурации
https://technet.microsoft.com/library/dd569081.aspx
Конфигурация
Элемент <serviceAutoStartProviders> настраивается на глобальном уровне в файле ApplicationHost.config.
Атрибуты
Отсутствует.
Дочерние элементы
| Элемент | Описание |
|---|---|
add |
Необязательный элемент. Добавляет поставщик в коллекцию поставщиков автозапуска. |
clear |
Необязательный элемент. Очищает коллекцию поставщиков автозапуска. |
remove |
Необязательный элемент. Удаляет поставщика из коллекции поставщиков автозапуска. |
Образец конфигурации
В следующем примере показан <serviceAutoStartProviders> элемент, который добавляет в коллекцию настраиваемый поставщик автозапуска.
<serviceAutoStartProviders>
<add name="MyAutostartProvider" type="MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" />
</serviceAutoStartProviders>
Пример кода
В следующих примерах добавляется пример поставщика в коллекцию поставщиков автозапуска.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/serviceAutoStartProviders /+"[name='MyAutostartProvider',type='MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73']" /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 serviceAutoStartProvidersSection = config.GetSection("system.applicationHost/serviceAutoStartProviders");
ConfigurationElementCollection serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.GetCollection();
ConfigurationElement addElement = serviceAutoStartProvidersCollection.CreateElement("add");
addElement["name"] = @"MyAutostartProvider";
addElement["type"] = @"MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.Add(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 serviceAutoStartProvidersSection As ConfigurationSection = config.GetSection("system.applicationHost/serviceAutoStartProviders")
Dim serviceAutoStartProvidersCollection As ConfigurationElementCollection = serviceAutoStartProvidersSection.GetCollection
Dim addElement As ConfigurationElement = serviceAutoStartProvidersCollection.CreateElement("add")
addElement("name") = "MyAutostartProvider"
addElement("type") = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST");
var serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection;
var addElement = serviceAutoStartProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "MyAutostartProvider";
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST")
Set serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection
Set addElement = serviceAutoStartProvidersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "MyAutostartProvider"
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.AddElement(addElement)
adminManager.CommitChanges()