Добавление элемента Modules <add> для службы IIS (IIS) 7;

Обзор

Элемент <add><modules> коллекции добавляет модуль в список модулей для службы IIS (IIS) 7.

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

Версия Примечания.
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> не был изменен в IIS 7.5.
IIS 7.0 Элемент <add><modules> коллекции появился в IIS 7.0.
IIS 6,0 Н/П

Настройка

Элемент <add><modules> коллекции включен в установку IIS 7 по умолчанию.

Инструкции

Добавление управляемого модуля в приложение

  1. Откройте диспетчер службы IIS (IIS):

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
      • Щелкните Администратор istrative Tools и дважды щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку "Пуск", наведите указатель на Администратор istrative Tools, а затем щелкните диспетчер службы IIS (IIS).
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
      • Дважды щелкните Администратор istrative Tools, а затем дважды щелкните диспетчер службы IIS (IIS).
  2. В области Подключение ions разверните имя сервера, разверните узел "Сайты", а затем перейдите на веб-сайт или приложение, в которое требуется добавить управляемый модуль.

  3. На панели "Главная" дважды щелкните модули.
    Снимок экрана: панель

  4. В области "Действия" нажмите кнопку "Добавить управляемый модуль".

  5. В диалоговом окне "Добавление управляемого модуля" введите имя управляемого модуля в поле "Имя", а затем введите или выберите платформа .NET Framework полного типа модуля в поле "Тип".

  6. Выберите вызов только для запросов к ASP.NET приложениям или управляемым обработчикам, если модуль будет отвечать только на управляемые запросы.
    Изображение диалогового окна добавления управляемого модуля с полями

  7. Щелкните OK.

Настройка

Атрибуты

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

Указывает уникальное имя управляемого модуля на веб-сервере.
preCondition Необязательный строковый атрибут. Указывает условия, в которых будет выполняться модуль.

Атрибут preCondition может быть одним или несколькими из следующих возможных значений. Если указать несколько значений, разделите значения запятыми (,).

значение Описание
bitness32 Укажите значение bitness32, если модуль является 32-разрядным файлом .dll. СЛУЖБЫ IIS должны загружать обработчик только для рабочих процессов, которые выполняются в режиме WOW64 (32-разрядное моделирование) в 64-разрядной операционной системе.
bitness64 Укажите значение bitness64, если модуль является 64-разрядным файлом .dll. СЛУЖБЫ IIS должны загружать обработчик только для рабочих процессов, которые выполняются в 64-разрядном режиме.
integratedMode Укажите значение integratedMode, когда модуль должен отвечать только на запросы в пулах приложений, настроенных для использования конвейера интегрированной обработки запросов.
ISAPIMode Укажите значение ISAPIMode, когда модуль должен отвечать только на запросы в пулах приложений, настроенных для использования классического режима.
managedHandler Укажите значение managedHandler, когда модуль должен обрабатывать запросы только для управляемых ресурсов, таких как .aspx файлы, и не должен отвечать на запросы неуправляемых ресурсов, таких как файлы .html.
runtimeVersionv1.1 Укажите значение runtimeVersionv1.1, если модуль должен отвечать только на запросы в пулах приложений, настроенных для использования платформа .NET Framework версии 1.1.
runtimeVersionv2.0 Укажите значение runtimeVersionv2.0, когда модуль должен отвечать только на запросы в пулах приложений, настроенных для использования платформа .NET Framework версии 2.0.
runtimeVersionv4.0 Укажите значение runtimeVersionv4.0, если модуль должен отвечать только на запросы в пулах приложений, настроенных для использования платформа .NET Framework версии 4.0.
type Необязательный строковый атрибут.

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

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

Нет.

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

В примере настраивается модуль для веб-приложения, работающего в интегрированном режиме IIS 7.

<configuration>
   <system.webServer>
      <modules>
         <add name="Header" type="Contoso.ShoppingCart.Header"/>
      </modules>
   </system.webServer>
</configuration>

Пример кода

Примечание.

Примеры в этом документе иллюстрируются с помощью сборки управляемого кода, хранящейся в глобальном кэше сборок .NET (GAC). Прежде чем использовать код в этих примерах для развертывания собственных сборок, необходимо получить сведения о сборке из GAC. Для этого выполните следующие действия.

  • В Windows Обозреватель откройте путь К:\Windows\assembly, где C: — это диск операционной системы.
  • Найдите сборку.
  • Щелкните правой кнопкой мыши сборку и выберите пункт "Свойства".
  • Скопируйте значение языка и региональных параметров. Например, нейтральный.
  • Скопируйте номер версии, например 1.0.0.0.0.
  • Скопируйте значение маркера открытого ключа , например 426f62526f636b73.
  • Щелкните Отмена.

В следующих примерах кода включается управляемый модуль для веб-сайта с именем Contoso. Свойство name определяет имя CartHeader для модуля, свойство типа определяет управляемый тип модуля, свойство preCondition определяет, что IIS вызывает модуль только для управляемых запросов.

Appcmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/modules /+"[name='CartHeader',type='Contoso.ShoppingCart.Header',preCondition='managedHandler']"

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.GetWebConfiguration("Contoso");
         ConfigurationSection modulesSection = config.GetSection("system.webServer/modules");
         ConfigurationElementCollection modulesCollection = modulesSection.GetCollection();

         ConfigurationElement addElement = modulesCollection.CreateElement("add");
         addElement["name"] = @"CartHeader";
         addElement["type"] = @"Contoso.ShoppingCart.Header";
         addElement["preCondition"] = @"managedHandler";
         modulesCollection.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.GetWebConfiguration("Contoso")
      Dim modulesSection As ConfigurationSection = config.GetSection("system.webServer/modules")
      Dim modulesCollection As ConfigurationElementCollection = modulesSection.GetCollection

      Dim addElement As ConfigurationElement = modulesCollection.CreateElement("add")
      addElement("name") = "CartHeader"
      addElement("type") = "Contoso.ShoppingCart.Header"
      addElement("preCondition") = "managedHandler"
      modulesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var modulesSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST/Contoso");
var modulesCollection = modulesSection.Collection;

var addElement = modulesCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "CartHeader";
addElement.Properties.Item("type").Value = "Contoso.ShoppingCart.Header";
addElement.Properties.Item("preCondition").Value = "managedHandler";
modulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set modulesSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST/Contoso")
Set modulesCollection = modulesSection.Collection

Set addElement = modulesCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "CartHeader"
addElement.Properties.Item("type").Value = "Contoso.ShoppingCart.Header"
addElement.Properties.Item("preCondition").Value = "managedHandler"
modulesCollection.AddElement addElement

adminManager.CommitChanges()