Поделиться через


Добавление поставщиков <автозапуска службы>

Общие сведения

Элемент <add><serviceAutoStartProviders> элемента добавляет поставщика в коллекцию поставщиков автозапуска.

Элемент <serviceAutoStartProviders> задает коллекцию управляемых сборок, которые служба активации Windows (WAS) будет загружать автоматически, если startMode атрибут пула приложений имеет значение AlwaysRunning. Эта коллекция позволяет разработчикам указывать сборки, которые выполняют задачи инициализации перед обслуживанием HTTP-запросов. Например, разработчику приложения может потребоваться установить начальную подключения к базе данных для приложения до того, как СЛУЖБЫ IIS начнут обработку запросов. Это позволит приложению быстрее выполнять начальные запросы, для которых требуются круговые пути в базу данных и из нее.

Дополнительные сведения о настройке автоматического запуска пулов приложений см. в <applicationPools> этой статье.

Примечание

Этот элемент появился в IIS 7.5.

Совместимость

Версия Примечания
IIS 10.0 Элемент <add> не был изменен в IIS 10.0.
IIS 8,5 Элемент <add> не был изменен в IIS 8.5.
IIS 8,0 Элемент <add> не был изменен в IIS 8.0.
IIS 7,5 Элемент <add> элемента появился <serviceAutoStartProviders> в IIS 7.5.
IIS 7.0 Н/Д
IIS 6,0 Н/Д

Настройка

Элемент <add><serviceAutoStartProviders> элемента включен в установку iis 7.5 по умолчанию.

Инструкции

Настройка поставщика автозапуска службы

Примечание

Отсутствует прямой пользовательский интерфейс, позволяющий настроить <serviceAutoStartProviders> элемент, поэтому в следующих шагах будет использоваться редактор конфигурации IIS.

  1. Откройте диспетчер служб 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.
  2. В области Подключения щелкните имя сервера.

  3. В области Главная дважды щелкните компонент Редактор конфигураций .
    Снимок экрана: домашняя панель с выделенной функцией редактора конфигураций.

  4. В раскрывающемся меню Раздел разверните узел system.applicationHost и выберите serviceAutoStartProviders.
    Снимок экрана редактора конфигураций с раскрывающимся меню

  5. Щелкните многоточие (...) в правой части поля (Коллекция).

  6. В области Действия нажмите Добавить.

  7. При появлении диалогового окна Редактор коллекций:

    • Введите имя поставщика автозапуска в поле имени . Например:
      MyAutostartProvider
    • Введите управляемый тип автозапуска сборки в поле типа . Например:
      "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
    • Закройте диалоговое окно Редактор коллекций.
      Снимок экрана: диалоговое окно редактора коллекций.
  8. В области Действия нажмите кнопку Применить.

Примечание

В этом разделе содержатся сведения об изменении параметров IIS с помощью редактора конфигурации IIS. Неправильное изменение параметров конфигурации IIS может серьезно повредить установку IIS. Поэтому будьте внимательны и в точности следуйте инструкциям. Для обеспечения дополнительной безопасности необходимо создать резервную копию параметров конфигурации IIS, прежде чем использовать редактор конфигураций IIS для внесения каких-либо изменений. Дополнительные сведения о резервном копировании параметров конфигурации IIS и использовании редактора конфигурации IIS см. в следующих разделах:

Конфигурация

Элемент <add><serviceAutoStartProviders> элемента настраивается на глобальном уровне в файле ApplicationHost.config.

Атрибуты

Атрибут Описание
name Необязательный строковый атрибут.

Указывает понятное имя поставщика автозапуска.

Значение по умолчанию отсутствует.
type Необязательный строковый атрибут.

Указывает управляемый тип для сборки поставщика автозапуска.

Значение по умолчанию отсутствует.

Дочерние элементы

Отсутствует.

Образец конфигурации

В следующем примере показан <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()