<httpHandlers> の <add> 要素
アプリケーションにハンドラを追加します。ハンドラは、特定の URL の要求を処理する IHttpHandler クラスまたは IHttpHandlerFactory クラスです。
<configuration>
<system.web>
<httpHandlers>
<add>
<add verb="verb list" path="path/wildcard" type="type,assemblyname" validate="true|false"/>
必須属性
属性 | 説明 |
---|---|
verb | 動詞リストは、HTTP 動詞のコンマ区切りのリスト (たとえば、"GET, PUT, POST") または開始スクリプトのマップ (たとえば、ワイルドカード文字 * [アスタリスク]) となります。 |
path | path 属性には、1 つの URL パスまたは単純なワイルドカード文字列 (たとえば、*.aspx) を格納できます。 |
type | コンマ区切りのクラスとアセンブリの組み合わせを指定します。ASP.NET は初めにアプリケーションのプライベートな \bin ディレクトリを検索し、次にアセンブリのキャッシュ内を検索します。 |
省略可能属性
属性 | 説明 |
---|---|
validate | validate が false に設定されている場合、ASP.NET は一致する要求が実際に着信するまでクラスの読み込みを試行しません。これにより、エラー処理が遅れる可能性がありますが、スタートアップ時間は短縮されます。 |
解説
<httpHandlers> の設定値は、サブディレクトリによって継承されます。
<add> ディレクティブは、上から下に順次処理されます。複数の <add> サブ要素が同じ動詞とパスの組み合わせを指定している場合は、最後の <add> が他のすべてのサブ要素をオーバーライドします。
Microsoft Internet Information Services (IIS) には、ISAPI へ拡張子を割り当てるための IIS 固有の概念があります。このセクション内の特定の拡張子の設定値を有効にするには、IIS 内でその拡張子を ASP.NET ISAPI に割り当てる必要があります。非標準的な拡張子 (.aspx、.asmx、.asax などの拡張子以外) の場合は、ユーザーが IIS を設定する必要があります。
例
ファイル名の拡張子が .New
のファイルに対するすべての HTTP 要求を MyHandler.New
クラスに割り当て、ファイル名の拡張子が .MyNewFileExtension
のファイルに対するすべての HTTP GET 要求および HTTP HEAD 要求を MyHandler.MNFEHandler.
クラスへ割り当てる例を次に示します。どちらのクラスも、MyHandler.dll
ファイルの MyHandler
アセンブリにあります。
<configuration>
<system.web>
<httpHandlers>
<add verb="*"
path="*.New"
type="MyHandler.New,MyHandler"/>
<add verb="GET,HEAD"
path="*.MyNewFileExtension"
type="MyHandler.MNFEHandler,MyHandler.dll"/>
</httpHandlers>
<system.web>
</configuration>
必要条件
格納されている場所 : <system.web>
Web プラットフォーム : IIS 5.0、IIS 5.1、IIS 6.0
構成ファイル : Machine.config、Web.config
構成セクション ハンドラ : System.Web.Configuration.HttpHandlersSectionHandler