DefaultHttpHandler クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
既定の HTTP ハンドラーのプロパティとメソッドを表します。
public ref class DefaultHttpHandler : System::Web::IHttpAsyncHandler
public class DefaultHttpHandler : System.Web.IHttpAsyncHandler
type DefaultHttpHandler = class
interface IHttpAsyncHandler
interface IHttpHandler
Public Class DefaultHttpHandler
Implements IHttpAsyncHandler
- 継承
-
DefaultHttpHandler
- 実装
例
次のコード例では、 クラスから派生してカスタマイズされた HTTP ハンドラーを実装する方法を DefaultHttpHandler 示します。
public class AsyncDefaultHttpHandler : DefaultHttpHandler
{
private HttpContext _context;
public override IAsyncResult BeginProcessRequest(
HttpContext context, AsyncCallback callback, object state)
{
AsyncResultSample ar = new AsyncResultSample(callback, state);
_context = context;
return ar;
}
public override void EndProcessRequest(IAsyncResult result)
{
_context.Response.Write("EndProcessRequest called.");
}
// This method should not be called asynchronously.
public override void ProcessRequest(HttpContext context)
{
throw new InvalidOperationException(
"Asynchronous processing failed.");
}
// Enables pooling when set to true
public override bool IsReusable
{
get { return true; }
}
}
// Tracks state between the begin and end calls.
class AsyncResultSample : IAsyncResult
{
private AsyncCallback callback = null;
private Object asyncState;
private Boolean isCompleted;
internal AsyncResultSample(AsyncCallback cb, Object state)
{
this.callback = cb;
asyncState = state;
isCompleted = false;
}
public object AsyncState
{
get
{
return asyncState;
}
}
public bool CompletedSynchronously
{
get
{
return false;
}
}
public WaitHandle AsyncWaitHandle
{
get
{
throw new InvalidOperationException(
"ASP.NET should not use this property .");
}
}
public bool IsCompleted
{
get
{
return isCompleted;
}
}
internal void SetCompleted()
{
isCompleted = true;
if (callback != null)
{
callback(this);
}
}
}
Public Class defaulthttpexampleVB
Inherits DefaultHttpHandler
Private _context As HttpContext
Public Overrides Function BeginProcessRequest _
(ByVal context As HttpContext, _
ByVal callback As AsyncCallback, _
ByVal state As Object) As IAsyncResult
Dim ar As New AsyncResultSample(callback, state)
_context = context
Return (ar)
End Function
Public Overrides Sub EndProcessRequest(ByVal result As IAsyncResult)
_context.Response.Write("EndProcessRequest called.")
End Sub
' This method should not be called asynchronously.
Public Overrides Sub ProcessRequest(ByVal context As HttpContext)
Throw New InvalidOperationException _
("Asynchronous processing failed.")
End Sub
' Enables pooling when set to true
Public Overrides ReadOnly Property IsReusable() As Boolean
Get
Return True
End Get
End Property
End Class
' Tracks state between the begin and end calls.
Class AsyncResultSample
Implements IAsyncResult
Private callback As AsyncCallback = Nothing
Private _asyncState As Object
Private _isCompleted As Boolean
Friend Sub New(ByVal cb As AsyncCallback, ByVal state As Object)
Me.callback = cb
_asyncState = state
_isCompleted = False
End Sub
Public ReadOnly Property AsyncState() As Object _
Implements IAsyncResult.AsyncState
Get
Return _asyncState
End Get
End Property
Public ReadOnly Property CompletedSynchronously() _
As Boolean Implements IAsyncResult.CompletedSynchronously
Get
Return False
End Get
End Property
Public ReadOnly Property AsyncWaitHandle() _
As WaitHandle Implements IAsyncResult.AsyncWaitHandle
Get
Throw New InvalidOperationException _
("ASP.NET should not use this property .")
End Get
End Property
Public ReadOnly Property IsCompleted() _
As Boolean Implements IAsyncResult.IsCompleted
Get
Return IsCompleted
End Get
End Property
Friend Sub SetCompleted()
_isCompleted = True
If (callback <> Nothing) Then
callback(Me)
End If
End Sub
End Class
注釈
DefaultHttpHandlerインターネット インフォメーション サービス (IIS) 6.0 を介して両方の要求インターセプトが構成されており、要求された拡張機能に明示的なバインドが適用されていない場合、オブジェクトは HTTP パイプライン内の受信要求をインターセプトします。
要求インターセプトは、IIS 6.0 で導入されたワイルドカード アプリケーション マッピング機能を使用して設定できます。
クラスは DefaultHttpHandler 、 インターフェイスを IHttpAsyncHandler 実装して非同期要求処理を提供します。 HTTP ハンドラーの一般的な情報については、「 HTTP ハンドラー」と「HTTP モジュールの概要」を参照してください。 さらに、詳細については、次を参照してください。
非同期 HTTP ハンドラーの作成については、「 チュートリアル: 非同期 HTTP ハンドラーの作成」を参照してください。
HTTP ハンドラーの登録については、「 方法: HTTP ハンドラーを登録する」を参照してください。
クラスは、 クラスから DefaultHttpHandler 派生して、要求のカスタマイズされた処理を提供できます。 から DefaultHttpHandler 派生した非同期 HTTP ハンドラーは、 メソッドを BeginProcessRequest オーバーライドして要求の処理方法を変更できます。
では DefaultHttpHandler 、ASP.NET エラーは使用されません。 IIS エラーまたは適切な ISAPI カスタム エラー メカニズムを使用する既存のコンテンツは、変更されずに機能します。
コンストラクター
DefaultHttpHandler() |
DefaultHttpHandler クラスの新しいインスタンスを初期化します。 |
プロパティ
Context |
現在の DefaultHttpHandler オブジェクトに関連付けられているコンテキストを取得します。 |
ExecuteUrlHeaders |
要求と共に転送する要求ヘッダーと要求値のコレクションを取得します。 |
IsReusable |
DefaultHttpHandler クラスの現在のインスタンスを別の要求が使用できるかどうかを示すブール値を取得します。 |
メソッド
BeginProcessRequest(HttpContext, AsyncCallback, Object) |
HTTP ハンドラーの非同期の呼び出しを開始します。 |
EndProcessRequest(IAsyncResult) |
非同期処理の終了メソッドを提供します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnExecuteUrlPreconditionFailure() |
実行前の状態が原因で DefaultHttpHandler オブジェクトが要求を処理できない場合に呼び出されます。 |
OverrideExecuteUrlPath() |
現在の要求の対象 URL をオーバーライドします。 |
ProcessRequest(HttpContext) |
DefaultHttpHandler オブジェクトを有効にして、HTTP Web 要求を処理します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
こちらもご覧ください
.NET