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  
  

継承階層

CollectionElement

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 メソッド