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) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DefaultHttpHandler クラス」の関連用語

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

   

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



DefaultHttpHandler クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS