Share via


add modules <add>element for インターネット インフォメーション サービス (IIS) 7;

概要

<modules> コレクションの <add> 要素は、インターネット インフォメーション サービス (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 <modules> コレクションの <add> 要素は IIS 7.0 で導入されました。
IIS 6.0 該当なし

段取り

<modules> コレクションの <add> 要素は、IIS 7 の既定のインストールに含まれています。

操作方法

マネージド モジュールをアプリケーションに追加する方法

  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. [接続] ウィンドウで、サーバー名を展開し、[サイト] を展開して、マネージド モジュールを追加する Web サイトまたはアプリケーションに移動します。

  3. [ホーム] ウィンドウで、[モジュール] をダブルクリックします。
    [モジュール] が強調表示されている [ホーム] ウィンドウのスクリーンショット。

  4. [操作] ウィンドウで、[マネージド モジュールの追加] をクリックします。

  5. [マネージド モジュールの追加] ダイアログ ボックスで、[名前] ボックスにマネージド モジュールの名前を入力し、[種類] ボックスにモジュールの .NET Framework の完全修飾型を入力または選択します。

  6. モジュールがマネージド要求にのみ応答するようにする場合は、[ASP.NET アプリケーションまたはマネージド ハンドラーへの要求に対してのみ呼び出す] オプションを選択します。
    S P dot Net アプリケーションまたはマネージド ハンドラー オプションへの要求に対してのみ呼び出しを行う [名前] ボックスと [種類] ボックスを示す [マネージド モジュールの追加] ダイアログの画像。

  7. OK をクリックします。

構成

属性

属性 説明
name 必須の文字列属性です。

Web サーバー上のマネージド モジュールの一意の名前を指定します。
preCondition 省略可能な文字列属性。 モジュールを実行する条件を指定します。

preCondition 属性には、次の使用可能な値のうち 1 つ以上を指定できます。 複数の値を指定する場合は、値をコンマ (,) で区切ります。

Value 説明
bitness32 モジュールが 32 ビットの .dll ファイルである場合は、bitness32 値を指定します。 IIS は、64 ビット オペレーティング システムで WOW64 モード (32 ビット シミュレーション) で実行されるワーカー プロセスに対してのみハンドラーを読み込む必要があります。
bitness64 モジュールが 64 ビットの .dll ファイルである場合は、bitness64 値を指定します。 IIS は、64 ビット モードで実行されるワーカー プロセスに対してのみハンドラーを読み込む必要があります。
integratedMode 統合要求処理パイプラインを使用するように構成されているアプリケーション プール内の要求にのみモジュールが応答する必要がある場合は、integratedMode 値を指定します。
ISAPIMode モジュールがクラシック モードを使用するように構成されているアプリケーション プール内の要求にのみ応答する必要がある場合は、ISAPIMode 値を指定します。
managedHandler モジュールが管理対象リソース (.aspx ファイルなど) に対してのみ要求を処理し、.html ファイルなどの管理対象外リソースの要求に応答しない場合は、managedHandler 値を指定します。
runtimeVersionv1.1 .NET Framework バージョン 1.1 を使用するように構成されているアプリケーション プール内の要求にのみモジュールが応答する必要がある場合は、runtimeVersionv1.1 値を指定します。
runtimeVersionv2.0 .NET Framework バージョン 2.0 を使用するように構成されているアプリケーション プール内の要求にのみモジュールが応答する必要がある場合は、runtimeVersionv2.0 値を指定します。
runtimeVersionv4.0 .NET Framework バージョン 4.0 を使用するように構成されているアプリケーション プール内の要求にのみモジュールが応答する必要がある場合は、runtimeVersionv4.0 値を指定します。
type 省略可能な文字列属性。

マネージド モジュールのマネージド型を指定します。 type 属性はネイティブ モジュールには適用されません。

子要素

なし。

構成サンプル

この例では、IIS 7 統合モードで実行されている Web アプリケーションのモジュールを構成します。

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

サンプル コード

Note

このドキュメントの例は、.NET グローバル アセンブリ キャッシュ (GAC) に格納されているマネージドコード アセンブリを使用して示されています。 これらの例のコードを使用して独自のアセンブリを展開する前に、GAC からアセンブリ情報を取得する必要があります。 そのためには、次の手順を行ってください。

  • エクスプローラーで、C:\Windows\assembly パスを開きます。ここで、C: はオペレーティング システム ドライブです。
  • アセンブリを見つけます。
  • アセンブリを右クリックし、[プロパティ] をクリックします。
  • カルチャ値 (例: Neutral) をコピーします。
  • バージョン番号 (例: 1.0.0.0) をコピーします。
  • Public Key Token 値 (例: 426f62526f636b73) をコピーします。
  • [キャンセル] をクリックします。

次のコード例では、Contoso という名前の Web サイトのマネージド モジュールを有効にします。 name プロパティはモジュールの CartHeader という名前を定義し、type プロパティはモジュールのマネージド型を定義し、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()