Настройка автозапуска с помощью диспетчера IIS
В этом разделе описаны процедуры, позволяющие включать автозапуск для приложения или службы с помощью диспетчера IIS. Здесь также описаны процедуры, позволяющие включить привязку net.pipe для веб-сайта и протокол net.pipe для приложения.
Включение функции автозапуска для приложения
Откройте диспетчер IIS, нажав кнопку Пуск, а затем последовательно выбрав пункты Программы, Windows Server AppFabric и Диспетчер IIS.
В области "Подключения" откройте сервер и сайт с необходимым приложением, а затем выберите это приложение.
В области "Действия" выберите команду Настроить под заголовком Управление службами WCF и WF или щелкните приложение правой кнопкой мыши, выберите пункт Управление службами WCF и WF и выберите команду Настроить.
В диалоговом окне Настройка WCF и WF для приложения нажмите кнопку Автозапуск.
Компонент конфигурации автозапуска доступен только в операционной системе Windows 7 или Windows Server 2008 R2 и последующих версиях. Если установлены другие операционные системы, настройка автозапуска будет недоступна, пока не будет выполнено обновление до указанных версий операционных систем.
В диалоговом окне Автозапуск щелкните Включен, чтобы включить автозапуск для всех служб в приложении, Настраиваемый, чтобы включить автозапуск отдельно для каждой службы в приложении, или Отключен, чтобы отключить автозапуск всех служб в приложении.
Если для пула приложений приложения установлено значение, отличное от "AlwaysRunning", отображается всплывающее диалоговое окно с сообщением: "Значение параметра startMode пула приложений для этой службы или приложения должно быть равно AlwaysRunning, чтобы приложение или служба запускались автоматически. Задать значение параметра startMode пула приложений при применении изменений?» Нажмите кнопку Да, чтобы установить для атрибута startMode пула приложений значение "AlwaysRunning", а затем нажмите кнопку ОК.
Функция автозапуска для приложения будет работать только в том случае, если для атрибута startMode пула приложений, используемого этим приложением, установлено значение AlwaysRunning. При нажатии кнопки ОК в этом диалоговом окне для атрибута startMode пула приложения, используемого этим приложением, будет установлено значение AlwaysRunning. Этот атрибут также можно установить с помощью редактора конфигурации IIS. Следует отметить, что установка значения AlwaysRunning для атрибута startMode пула приложений приведет к перезапуску всех приложений в этом пуле приложений.
Нажмите кнопку ОК.
Параметры автозапуска для приложения задаются не в файле Web.config приложения, а в файле ApplicationHost.config для сервера. Настройка автозапуска для приложения осуществляется локально в диалоговом окне конфигурации, отображаемом на уровне приложения, но соответствующие параметры находятся в файле ApplicationHost.config. Ниже приведен пример конфигурации.
Включение автозапуска для всех служб в приложении устанавливает для атрибута serviceAutoStartMode приложения в файле ApplicationHost.config значение «all». При установке режима автозапуска Настраиваемый атрибут serviceAutoStartMode получает значение «custom». Каждое из этих действий добавляет атрибут serviceAutoStartEnabled со значением «true» в файл ApplicationHost.config, если приложение уже выполняется (и протоколы включены). Если приложение не выполняется, то атрибут serviceAutoStartEnabled принимает значение "false" (и приложение, намеренно остановленное, не будет случайно запущено).
Атрибут autoStart и атрибуты startMode пула приложений отличаются. Атрибут startMode – это атрибут, который используется возможностью автозапуска Microsoft AppFabric 1.1 для Windows Server. Параметр Немедленный запуск пула приложений в диалоговом окне Изменение пула приложений или параметр Автоматический запуск в диалоговом окне Дополнительные параметры пула приложений настраивает атрибут autoStart, а не атрибут startMode.
Следует убедиться, что пул приложений настроен для использования интегрированного режима управляемого конвейера, и что он использует Платформа .NET Framework версии 4.
Включение автозапуска для службы
Откройте диспетчер IIS, нажав кнопку Пуск, а затем последовательно выбрав пункты Программы, Windows Server AppFabric и Диспетчер IIS.
В области "Подключения" откройте сервер и сайт с необходимым приложением, а затем выберите это приложение.
Установите необходимые значения автозапуска для приложения. Чтобы включить автозапуск для службы, необходимо установить Настраиваемый режим автозапуска и установить значение "AlwaysRunning" для атрибута startMode пула приложений. Дополнительные сведения см. в подразделе «Включение автозапуска для приложения» данного раздела.
В области "Просмотр возможностей" дважды щелкните значок Службы.
Выберите службу, для которой необходимо включить автозапуск, а затем в области "Действия" нажмите кнопку Настроить или щелкните приложение правой кнопкой мыши и выберите в контекстном меню пункт Настроить.
В диалоговом окне Настройка службы нажмите кнопку Автозапуск.
В диалоговом окне Автозапуск щелкните Включить, чтобы включить автозапуск для данной службы. При включении автозапуска для службы строка serviceAddress добавляется в атрибут serviceAutoStart для службы в в файле Web.config приложения. Ниже приведен пример конфигурации.
Если эта служба относится к приложению, для которого установлен режим автозапуска Отключен, флажок Включить будет снят и недоступен. Для этого приложения установлен режим автозапуска Включен, флажок Включить будет установлен и недоступен. Чтобы включить автозапуск для данной службы, необходимо задать для приложения Настраиваемый режим автозапуска. Если автозапуск приложения включен или выключен, то параметр автозапуска для всех служб в приложении наследуется от параметров автозапуска для приложения. Чтобы задать автозапуск для приложения, вернитесь к подразделу «Включение автозапуска для приложения» данного раздела.
Нажмите кнопку ОК.
Если добавить службу в корневой каталог веб-сайта, а не в виртуальный каталог, то эта служба сопоставляется с приложением по умолчанию, а не с настраиваемым приложением. Когда служба сопоставлена с приложением по умолчанию, для нее нельзя настраивать автозапуск в расширениях диспетчера IIS, поскольку для режима автозапуска приложения по умолчанию установлено значение "Отключен", которое не может быть изменено.
Установка атрибута startMode пула приложений с помощью диспетчера IIS
В диспетчере IIS щелкните имя компьютера в области подключений.
Переключитесь в представление Просмотр возможностей, если оно не активировано.
В разделе Управление представления Просмотр возможностей дважды щелкните пункт Редактор конфигурации.
Щелкните стрелку вниз для поля Раздел, разверните узел system.applicationhost и выберите пулы приложений.
Щелкните пункт (Коллекция), а затем нажмите кнопку с многоточием (…) рядом с полем, показывающим число.
В редакторе коллекций выберите пул приложений, для которого планируется настроить атрибут startMode.
Внизу, в окне Свойства установите для атрибута startMode значение AlwaysRunning.
Чтобы включить привязку net.pipe на уровне сайта, выполните следующие действия:
Microsoft AppFabric 1.1 для Windows Server автоматически добавляет службу WCF "Служба управления службами" для всех приложений с включенным атрибутом serviceManagement. По умолчанию этот атрибут включен. Для этой службы обязательно включение привязки net.pipe для веб-сайта и протокола net.pipe для приложения. Если эти параметры не включены, автозапуск не позволит запустить эту службу, а в журнале событий появятся соответствующие сообщения об ошибках. Дополнительные сведения об этой службе см. в разделе Служба управления службами.
Щелкните правой кнопкой мыши имя сайта в диспетчере IIS, а затем выберите команду Изменить привязки, чтобы открыть диалоговое окно Привязки сайта.
Если привязка net.pipe отсутствует в диалоговом окне "Привязки сайта", нажмите кнопку "Добавить", чтобы открыть диалоговое окно Добавление привязки сайта.
В диалоговом окне Добавление привязки сайта в поле "Тип" выберите net.pipe и введите * (звездочку) в поле Привязка.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Добавление привязки сайта, а затем нажмите кнопку Закрыть, чтобы закрыть диалоговое окно Привязки сайта.
Чтобы включить протокол net.pipe для приложения, выполните следующие действия:
В диспетчере IIS щелкните правой кнопкой мыши имя приложения, содержащего службу.
Наведите указатель мыши на пункт Управление приложением и выберите пункт Дополнительные параметры для вызова соответствующего диалогового окна.
В диалоговом окне Дополнительные параметры добавьте символ , (запятую) и текст net.pipe к значению поля Активные протоколы.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Дополнительные параметры, а затем нажмите кнопку Закрыть, чтобы закрыть диалоговое окно Привязки сайта.
Примечания.
Чтобы можно было включить или выключить функцию автозапуска, должны выполняться следующие условия:
Используется операционная система Windows 7 или Windows Server 2008 R2. Вкладка автозапуска недоступна в других операционных системах, например Windows Vista или Windows Server 2008 до версии R2.
Если настройка автозапуска выполняется удаленно с помощью диспетчера IIS, необходимо выполнить подключение на уровне сервера, а не на уровне сайта или приложения. Только в этом случае можно будет применить параметры к файлу ApplicationHost.config на уровне сервера, что требуется для приложения. (Обратите внимание на то, что функцию автозапуска можно настроить для службы на любом уровне, на котором выполняется удаленное подключение.)
Если включить автозапуск на уровне приложения, эта функция будет работать для этого приложения только в том случае, когда для атрибута startMode для пула приложений, используемого данным приложением, установлено значение "AlwaysRunning".
Функцию автозапуска можно настроить на уровне службы только в том случае, когда автозапуск включен для приложения, содержащего эту службу, и установлен режим приложения "custom". Если установлен режим приложения "all" (для приложения включен автозапуск), то параметр автозапуска для всех служб в приложении наследуется от параметров автозапуска для приложения. Если включен автозапуск для службы, а атрибут startMode для соответствующего пула приложений имеет значение, отличное от "AlwaysRunning", отображается предупреждение о том, что для атрибута startMode этого пула приложений необходимо установить значение "AlwaysRunning".
Если добавить службу в корневой каталог веб-сайта, а не в виртуальный каталог, то эта служба сопоставляется с приложением по умолчанию, а не с настраиваемым приложением. Когда служба сопоставлена с приложением по умолчанию, для нее нельзя настраивать автозапуск в расширениях диспетчера IIS, поскольку для режима автозапуска приложения по умолчанию установлено значение "Отключен", которое не может быть изменено.
В диалоговом окне Дополнительные параметры для веб-сайта в диспетчере IIS содержится свойство Запускать автоматически. Для этого свойства необходимо установить значение Истина, чтобы разрешить запуск соответствующего пула приложений. Если установлено значение Ложь, этот пул приложений не будет запущен независимо от того, включен ли для него автозапуск. Если же для свойства Запускать автоматически установлено значение Истина, то можно включать (значение AlwaysRunning) и выключать функцию автозапуска для этого пула приложений. Установка значения Истина для свойства Запускать автоматически не гарантирует автоматический запуск пула приложений. Чтобы обеспечить автозапуск, необходимо включить функцию автозапуска для пула приложений и убедиться, что для свойства Запускать автоматически установлено значение Истина.