@ WebHandler
更新 : 2007 年 11 月
HTTP ハンドラ (.ashx) ファイルの属性とコンパイル オプションを定義します。
<%@ WebHandler attribute="value" [attribute="value"...] %>
属性
Class
ハンドラを要求したときに動的にコンパイルされるクラス名を指定します。この値は、IHttpHandler から継承する任意のクラスを参照できます。また、完全修飾クラス名を含めることができます。CodeBehind
ハンドラに関連付けられているクラスを含むコンパイル済みのファイルの名前を指定します。この属性は実行時には使用されません。メモ :
この属性は、以前のバージョンの ASP.NET と互換性を保つために含まれています。
CompilerOptions
ハンドラをコンパイルするために使用されるコンテナ オプションを含む文字列を指定します。C# と Visual Basic では、これはコンパイラ コマンド ライン スイッチのシーケンスです。コンパイラ オプションの詳細については、「C# コンパイラ オプション」および「Visual Basic コンパイラ」を参照してください。Debug
デバッグ シンボルを含むハンドラをコンパイルする場合は true、それ以外の場合は false を指定します。この設定はパフォーマンスに影響するので、この属性を true に設定するのは開発中だけにしてください。Description
ハンドラのテキスト説明を指定します。ASP.NET パーサーでは、この値は無視されます。Language
ハンドラ内のすべてのコードをコンパイルするときに使用する言語を指定します。値には、Visual Basic、C#、JScript など、.NET Framework のすべての言語を指定できます。1 つのハンドラには 1 つの言語のみを指定できます。WarningLevel
コンパイラが警告をエラーとして扱ってハンドラのコンパイルを中止する、コンパイラの警告レベルを示します。使用可能な警告レベルは 0 から 4 です。詳細については、WarningLevel プロパティを参照してください。
解説
このディレクティブは、HTTP ハンドラとして使用するファイルでのみ有効です。既定で、ASP.NET は、.ashx という拡張子のファイルをハンドラとして扱います。
![]() |
---|
ハンドラのファイル名に .ashx 拡張子を使用しない場合、IHttpHandler インターフェイスを実装する標準クラス (.cs または .vb ファイル) としてハンドラを作成できます。ハンドラ クラス ファイルに、@ WebHandler ディレクティブは必須ではありません。その場合、ASP.NET で拡張子を登録する必要があります。詳細については、方法 : HTTP ハンドラを登録する を参照してください。 |
1 つのファイルには、@ WebHandler ディレクティブを 1 つだけ含むことができます。1 つのハンドラでは 1 つの言語だけを使用できるため、1 つの @ WebHandler ディレクティブには Language 属性を 1 つだけ定義できます。
![]() |
---|
@ WebHandler ディレクティブには、全体のソース ファイルに適用される他のディレクティブと共通の属性が多数あります。たとえば、Web ページの .aspx ファイルに使用する @ Page ディレクティブなどです。 |
@ WebHandler ディレクティブに複数の属性を定義するには、属性と値の各ペアを単一のスペースで区切ります。属性とその値とを結ぶ等号 (=) の左右どちらにも空白を挿入しないでください。
使用例
次のコード例は、ASP.NET ページ コンパイラに対して、Visual Basic をインライン コード言語として使用し、クラス名を使用するように指示します。
<%@ WebHandler Language="VB" Class="MyTestHandler" %>