HandlerAction クラス
ハンドラーの構成設定を公開します。
構文
class HandlerAction : CollectionElement
メソッド
このクラスにはメソッドが含まれていません。
プロパティ
次の表は、HandlerAction
クラスによって公開されるプロパティの一覧です。
名前 | 説明 |
---|---|
AllowPathInfo |
読み取り/書き込みの boolean 値。 ハンドラーが Uniform Resource Identifier (URI) 内の完全なパス情報を処理する場合は true 、それ以外の場合は false 。 既定値は、false です。たとえば、 true の場合、このプロパティにより、ハンドラーで "/vdir/myisapi.dll/zip" などの完全なパスが処理されます。false の場合、このプロパティにより、部分パス "/zip" のみが許可されます。 |
Modules |
ファイルまたは拡張子をマップするモジュールを指定する、読み取り/書き込みの string 値。 既定値は、null です。 |
Name |
ハンドラー マッピングの一意の名前を指定する、必須の一意の読み取り/書き込みの string 値。 唯一のキー プロパティ。 |
Path |
処理するファイルの種類の拡張子を持つファイル拡張子またはファイル名を指定する、読み取り/書き込みの string 値。 既定値は、null です。 |
PreCondition |
ハンドラーを実行できる条件をオプションで指定する、読み取り/書き込みの string 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。 |
RequireAccess |
ハンドラーのアクセス要件を指定する、読み取り/書き込みの sint32 列挙型。 使用できる値の一覧は、後述の「注釈」セクションに示します。 |
ResourceType |
ハンドラーのマッピングの種類を指定する、読み取り/書き込みの sint32 列挙型。 使用できる値の一覧は、後述の「注釈」セクションに示します。 |
ResponseBufferLimit |
要求ハンドラーの応答バッファーの最大サイズ (バイト単位) を設定する、読み取り/書き込みの uint32 値。 PagesSection クラスの Buffer プロパティで応答バッファリングが有効になっている場合、ResponseBufferLimit プロパティは、フラッシュが発生する前に ASP ページが応答バッファーに書き込むことができる最大バイト数を制御します。 既定値は 4194304 バイトです。 |
ScriptProcessor |
必要に応じて、要求を処理する ISAPI 拡張機能の .dll ファイルまたは CGI .exe ファイルへの完全パスを指定する、読み取り/書き込みの string 値。 このプロパティを指定する場合は、Modules プロパティに "ISAPIModule" または "CGIModule" を指定する必要があります。 既定値は、null です。 |
Type |
マネージド ハンドラーの名前空間パスを指定する、読み取り/書き込みの string 値。 指定する型は、グローバル アセンブリ キャッシュ、アプリケーションの Bin ディレクトリ、または app_code ディレクトリにある、有効なマネージド型である必要があります。 既定値は、null です。 |
Verb |
動詞のコンマ区切りリストを指定する、読み取り/書き込みの string 値。 マッピングを特定の要求の種類に適用する場合は、このプロパティを使用します。 既定値は、null です。 |
サブクラス
このクラスにはサブクラスが含まれていません。
解説
このクラスのインスタンスは、HandlersSection クラスの Handlers
プロパティに含まれています。
次の表に、Precondition
プロパティとして使用できる値の一覧を示します。 既定値は、null
です。
Note
前提条件の評価は、コンポーネントの論理 AND
です。 不明な前提条件はすべて false
に評価されるため、不明な前提条件が存在すると、その不明な前提条件が無視されます。
Value | 説明 |
---|---|
appPoolName=pool1;pool2 | このハンドラーは、セミコロン区切りの一覧で指定されたアプリケーション プールに使用されます。 |
appPoolName!=pool1;pool2 | このハンドラーは、セミコロン区切りの一覧で指定されたアプリケーション プールには使用されません。 |
bitness32 | このハンドラー エントリは、32 ビットのワーカー プロセスにのみ適用されます。 64 ビット コンピューターの場合は、この値を使用して、32 ビット モードで実行するアプリケーション プールを指定する必要があります。 |
bitness64 | このハンドラーは、64 ビットのワーカー プロセスにのみ適用されます。 64 ビット コンピューターの場合は、この値を使用して、64 ビット モードで実行するアプリケーション プールを指定する必要があります。 |
integratedMode | このハンドラーは、統合モードのアプリケーション プールにのみ使用されます。 |
ISAPIMode | このハンドラーは、ISAPI モードのアプリケーション プールにのみ使用されます。 |
runtimeVersion | このハンドラーは、特定のバージョンの共通言語ランタイム (CLR) を読み込むアプリケーション プールにのみ使用されます。 この前提条件を有効にするには、文字列 "runtimeVersion" に vメジャー バージョン.マイナー バージョン という形式の文字列を追加します (例: "runtimeVersionv2.0")。 |
次の表に、RequireAccess
プロパティとして使用できる値の一覧を示します。 既定値は 3 (Script
) です。
Note
HandlersSection クラスの AccessPolicy
プロパティの設定により、どの権限が許可されているかが決まり、それによってどのハンドラーの実行が許可されているかが決まります。
Value | キーワード | 説明 |
---|---|---|
0 | None |
このハンドラーにはアクセス要件がありません。 |
1 | Read |
このハンドラーには読み取りアクセス許可が必要です。 |
2 | Write |
このハンドラーには書き込みアクセス許可が必要です。 |
3 | Script |
このハンドラーにはスクリプト権限が必要です。 |
4 | Execute |
このハンドラーには実行権限が必要です。 |
次の表に、ResourceType
プロパティとして使用できる値の一覧を示します。 既定値は 3 (Unspecified
) です。
Note
このプロパティは、IIS マネージャーで [パスの種類] というラベルが付けられます。
Value | キーワード | 説明 |
---|---|---|
0 | File |
このマッピングはファイル用です。 受信要求がディスク上の物理ファイルにマップされない場合、要求はハンドラーに渡されません。 |
1 | Directory |
このマッピングはディレクトリ用です。 受信要求がディスク上の物理フォルダーにマップされない場合、要求はハンドラーに渡されません。 |
2 | Either |
このマッピングは、ファイル用またはディレクトリ用のいずれかです。 受信要求がディスク上の物理ファイルにもフォルダーにもマップされない場合、要求はハンドラーに渡されません。 |
3 | Unspecified |
このマッピングの種類は指定されていません。 要求は、要求がディスク上の物理ファイルまたはフォルダーにマップされるかどうかに関係なく、ハンドラーに渡されます。 ハンドラーをディスク上に存在しないことがわかっているファイル名 ("MyHandler.axd" など) にマッピングする場合は、この設定を使用します。 |
例
次の例では、従来のスクリプト マップ ハンドラー、2 つのネイティブ モジュール ハンドラー、マネージド ハンドラーという 3 つの異なるカテゴリのハンドラーを、<handlers>
セクションに追加します。
Note
構成要素を追加または削除すると、基になる構成セクションは変更されますが、構成セクションを表すスクリプト内のオブジェクト変数は変更されません。 スクリプトに変更が表示されるには、変更後にオブジェクト変数に対して WMI の Refresh_
メソッドを呼び出す必要があります。 これにより、構成ストアの最新のデータでオブジェクト変数が更新されます。
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
' Get the <handlers> section.
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")
oSite.GetSection "HandlersSection", oHandlersSection
' Display the old list of handlers.
WScript.Echo "---[Old Handler List]---"
Call DisplayHandlers
' Create a legacy script map handler.
' The required properties are Name, Modules, and ScriptProcessor.
Set oHandler = oWebAdmin.Get("HandlerAction").SpawnInstance_
oHandler.Name = "ASPClassic"
oHandler.Path="*.asp"
oHandler.Verb="GET,HEAD,POST"
oHandler.Modules="ISAPIModule"
oHandler.ResourceType= 0 '0 is "File"
oHandler.ScriptProcessor = "%windir%\system32\inetsrv\asp.dll"
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Create a native module handler for static files.
' The required properties are Name, Modules, and Path.
Set oHandler = oWebAdmin.Get("HandlerAction").SpawnInstance_
oHandler.Name = "StaticFile"
oHandler.Path="*"
oHandler.Verb="*"
oHandler.Modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"
oHandler.ResourceType=2
oHandler.RequireAccess=1
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Create a native module handler for ISAPI DLLs.
' The required properties are Name, Modules, and Path.
oHandler.Name = "ISAPI-dll"
oHandler.Path="*.dll"
oHandler.Verb="*"
oHandler.Modules="ISAPIModule"
oHandler.ResourceType=0
oHandler.RequireAccess=4
oHandler.AllowPathInfo=True
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Add a managed handler.
' The required properties are Name, Path, and Type.
Set oHandler = oWebAdmin.Get("HandlerAction").SpawnInstance_
oHandler.Name = "TraceHandler-Integrated"
oHandler.Path="trace.axd"
oHandler.Verb="GET,HEAD,POST"
oHandler.Type="System.Web.Handlers.TraceHandler"
oHandler.PreCondition="integratedMode"
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Call the WMI Refresh_ method to update the oHandlersSection object variable.
oHandlersSection.Refresh_
' Display the new list of handler names.
WScript.Echo "---[New Handler List]---"
Call DisplayHandlers
' Provide a sub to display the handler names.
Sub DisplayHandlers
For Each oHandler In oHandlersSection.Handlers
WScript.Echo "Name: " & oHandler.Name
Next
WScript.Echo
End Sub
継承階層
HandlerAction
要件
型 | 説明 |
---|---|
クライアント | - Windows Vista 上の IIS 7.0 - Windows 7 上の IIS 7.5 - Windows 8 上の IIS 8.0 - Windows 10 上の IIS 10.0 |
[サーバー] | - Windows Server 2008 上の IIS 7.0 - Windows Server 2008 R2 上の IIS 7.5 - Windows Server 2012 上の IIS 8.0 - Windows Server 2012 R2 上の IIS 8.5 - Windows Server 2016 上の IIS 10.0 |
Product | - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0 |
MOF ファイル | WebAdministration.mof |
参照
AccessSection クラス
CollectionElement クラス
HandlersSection クラス
IScriptMapInfo::GetAllowPathInfoForScriptMappings メソッド