モジュール プロバイダー <moduleProviders>
- 概要
- 互換性
- セットアップ
- 方法
- 構成
- サンプル コード
※本ページに挿入されている画像をクリックすると、画像全体が別ウィンドウで表示されます。
概要
<moduleProviders>
要素は、IIS マネージャーに対してモジュール プロバイダーの一覧を指定します。各モジュール プロバイダー エントリには、モジュールのマネージコード登録情報が含まれ、それによってモジュールを IIS マネージャーの機能として有効にできます。<moduleProviders>
要素は、次に示すように <modules>
要素と関連して動作します。
<moduleProviders>
要素は、IIS マネージャーに対してモジュール プロバイダーの一覧を指定します。<modules>
要素は、ユーザーが IIS マネージャーを使用してサイトまたはアプリケーションに接続した際に、機能として表示されるモジュールの一覧を指定します。
注 : <moduleProviders>
要素の設定は、Administration.config ファイル内でのみ構成可能です。
互換性
IIS 7.0 | IIS 6.0 | |
---|---|---|
注意 | <moduleProviders> は IIS 7.0 で新たに導入された要素です。 |
なし |
セットアップ
<moduleProviders>
要素は、IIS 7.0 の既定のインストールに含まれています。
方法
IIS 7.0 で <moduleProviders>
要素にモジュールを追加するためのユーザー インターフェイスはありません。<moduleProviders>
要素にプログラムによってモジュールを追加する方法の例については、このドキュメントの「サンプル コード」セクションを参照してください。
構成
属性
なし。
子要素
要素 | 説明 |
---|---|
add |
オプションの要素。 IIS マネージャーのモジュール プロバイダーのコレクションにモジュールを追加します。 |
clear |
オプションの要素。 モジュール プロバイダーのコレクションからモジュールに対するすべての参照を削除します。 |
remove |
オプションの要素。 IIS マネージャーのモジュール プロバイダーのコレクションから 1 つのモジュールに対する参照を削除します。 |
構成サンプル
Administration.config から引用された次のサンプル構成では、<moduleProviders>
コレクションの最後に、ContosoProvider という名前のマネージ モジュール プロバイダーを追加します。name プロパティはモジュールに対して名前 ContosoProvider を定義し、type プロパティはモジュールに対してマネージ型を定義します。
注 : この引用されたサンプル構成は、読みやすくするために短くされています。
<moduleProviders>
<!-- Server Modules-->
<add name="Modules"
type="Microsoft.Web.Management.Iis.Modules.ModulesModuleProvider, Microsoft.Web.Management.Iis, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="Handlers"
type="Microsoft.Web.Management.Iis.Handlers.HandlersModuleProvider, Microsoft.Web.Management.Iis, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
. . .
. . .
. . .
<add name="ContosoProvider"
type="Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0e1d2c3b4a59687" />
</moduleProviders>
サンプル コード
注 : このドキュメントで紹介している例は、.NET グローバル アセンブリ キャッシュ (GAC) に保存されているマネージ コード アセンブリを使用して示しています。これらの例で示すコードを使用して独自のアセンブリを展開するには、事前に GAC からアセンブリ情報を取得する必要があります。それには、次の手順を実行します。
- Windows エクスプローラーで C:\Windows\assembly パスを開きます (C: は、オペレーティング システム ドライブを示します)。
- アセンブリを見つけます。
- アセンブリを右クリックして [プロパティ] をクリックします。
- [カルチャ] の値をコピーします (例 : Neutral)。
- [バージョン] の番号をコピーします (例 : 1.0.0.0)。
- [公開キー トークン] の値をコピーします (例 : f0e1d2c3b4a59687)。
- [キャンセル] をクリックします。
次のコード サンプルでは、Administration.config ファイルに ContosoProvider という名前のマネージ モジュール プロバイダーを追加します。name プロパティはモジュールに対して名前 ContosoProvider を定義し、type プロパティはモジュールに対してマネージ型を定義します。
AppCmd.exe
注 : AppCmd.exe を使用して <moduleProviders>
設定を構成することはできません。
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.GetAdministrationConfiguration();
ConfigurationSection moduleProvidersSection = config.GetSection("moduleProviders");
ConfigurationElementCollection moduleProvidersCollection = moduleProvidersSection.GetCollection();
ConfigurationElement addElement = moduleProvidersCollection.CreateElement("add");
addElement["name"] = @"ContosoProvider";
addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0e1d2c3b4a59687";
moduleProvidersCollection.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.GetAdministrationConfiguration
Dim moduleProvidersSection As ConfigurationSection = config.GetSection("moduleProviders")
Dim moduleProvidersCollection As ConfigurationElementCollection = moduleProvidersSection.GetCollection
Dim addElement As ConfigurationElement = moduleProvidersCollection.CreateElement("add")
addElement("name") = "ContosoProvider"
addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0e1d2c3b4a59687"
moduleProvidersCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
adminManager.CommitPath = "MACHINE/WEBROOT";
adminManager.SetMetadata("pathMapper", "AdministrationConfig");
var moduleProvidersSection = adminManager.GetAdminSection("moduleProviders", "MACHINE/WEBROOT");
var moduleProvidersCollection = moduleProvidersSection.Collection;
var addElement = moduleProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoProvider";
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0e1d2c3b4a59687";
moduleProvidersCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
adminManager.CommitPath = "MACHINE/WEBROOT";
adminManager.SetMetadata("pathMapper", "AdministrationConfig");
var moduleProvidersSection = adminManager.GetAdminSection("moduleProviders", "MACHINE/WEBROOT");
var moduleProvidersCollection = moduleProvidersSection.Collection;
var addElement = moduleProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoProvider";
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0e1d2c3b4a59687";
moduleProvidersCollection.AddElement(addElement);
adminManager.CommitChanges();