Служба поставщиков автозапуска <службAutoStartProviders>
Общие сведения
Элемент <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()
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по