DefaultHttpHandlerとは? わかりやすく解説

DefaultHttpHandler クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

既定の HTTP ハンドラのプロパティとメソッドを表します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class DefaultHttpHandler
    Implements IHttpAsyncHandler, IHttpHandler
Dim instance As DefaultHttpHandler
public class DefaultHttpHandler : IHttpAsyncHandler,
 IHttpHandler
public ref class DefaultHttpHandler : IHttpAsyncHandler,
 IHttpHandler
public class DefaultHttpHandler implements
 IHttpAsyncHandler, IHttpHandler
public class DefaultHttpHandler implements
 IHttpAsyncHandler, IHttpHandler
解説解説

DefaultHttpHandler オブジェクトは、送受信両方の要求受け取りが Microsoft Internet Information Services (IIS) バージョン 6.0 を使用して構成されており、要求された拡張に httpHandlers バインディングが明示的に適用されていない場合に、HTTP パイプラインで受信要求を受け取ります。

要求受け取りは、IIS 6.0 で導入されたワイルドカード アプリケーション マッピング機能を使用して設定できます。詳細については、MSDN ライブラリで、ワイルドカード アプリケーション マップを使用した URL のリマップに関する情報を参照してください。

DefaultHttpHandler クラスは、IHttpAsyncHandler インターフェイスを実装して、非同期要求処理を提供します。HTTP ハンドラの概要については、「HTTP ハンドラを使用したカスタム ASP.NET 処理」を参照してください。また、次の情報も参考にしてください。

クラスが、DefaultHttpHandler クラスの派生クラスを作成して、カスタマイズされた要求処理を提供できます。DefaultHttpHandler から派生した非同期 HTTP ハンドラは、BeginProcessRequest メソッドをオーバーライドして、要求の処理方法を変更できます。

DefaultHttpHandler では、ASP.NET エラーを使用しません。IIS エラーまたは独自の ISAPI カスタム エラー機構を使用する既存のコンテンツは、変更なしで動作します。

使用例使用例

DefaultHttpHandler クラスの派生を使用して、カスタマイズされた HTTP ハンドラを実装する方法のコード例を次に示します。

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
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);
        }
    }

}
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.DefaultHttpHandler
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DefaultHttpHandler コンストラクタ


DefaultHttpHandler プロパティ


DefaultHttpHandler メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

DefaultHttpHandler メンバ

既定の HTTP ハンドラのプロパティとメソッドを表します。

DefaultHttpHandler データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド DefaultHttpHandler DefaultHttpHandler クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DefaultHttpHandler」の関連用語

DefaultHttpHandlerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DefaultHttpHandlerのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS