次の方法で共有


IHttpHandler.ProcessRequest メソッド

IHttpHandler インターフェイスを実装するカスタム HttpHandler によって、HTTP Web 要求の処理を有効にします。

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

構文

'宣言
Sub ProcessRequest ( _
    context As HttpContext _
)
'使用
Dim instance As IHttpHandler
Dim context As HttpContext

instance.ProcessRequest(context)
void ProcessRequest (
    HttpContext context
)
void ProcessRequest (
    HttpContext^ context
)
void ProcessRequest (
    HttpContext context
)
function ProcessRequest (
    context : HttpContext
)
適用できません。

パラメータ

  • context
    HTTP 要求を処理するために使用する、組み込みのサーバー オブジェクト (RequestResponseSessionServer など) への参照を提供する HttpContext オブジェクト。

解説

カスタム HttpHandler コードを、次の例に示すように、ProcessRequest 仮想メソッドに配置します。

使用例

handler.aspx という名前のページを求めるクライアント要求への応答として、4 行のテキストを HTTP 出力ストリームに書き込むコード例を次に示します。handler.aspx に対するすべての要求は、アセンブリ HandlerTest.dll に格納されている名前空間 HandlerExampleMyHttpHandler クラスによって処理されます。

' Name this Visual Basic file HandlerTest.vb and compile it with the
' command line: vbc /target:library /r:System.Web.dll HandlerTest.vb.
' Copy HandlerTest.dll to your \bin directory.
Imports System.Web

Namespace HandlerExample
    
    Public Class MyHttpHandler
        Implements IHttpHandler
        
        ' Override the ProcessRequest method.
        Public Sub ProcessRequest(context As HttpContext) _
        Implements IHttpHandler.ProcessRequest
        
            context.Response.Write("<H1>This is an HttpHandler Test.</H1>")
            context.Response.Write("<p>Your Browser:</p>")
            context.Response.Write("Type: " & context.Request.Browser.Type & "<br>")
            context.Response.Write("Version: " & context.Request.Browser.Version)
        End Sub
        
        ' Override the IsReusable property.        
        Public ReadOnly Property IsReusable() As Boolean _
        Implements IHttpHandler.IsReusable
        
            Get
                Return True
            End Get
        End Property
    End Class
End Namespace

'______________________________________________________________
'
' To use this handler, include the following lines in a
' Web.config file (be sure to remove the comment markers).
'
'<configuration>
'   <system.web>
'      <httpHandlers>
'         <add verb="*" path="handler.aspx" type="HandlerExample.MyHttpHandler,HandlerTest"/>
'      </httpHandlers>
'   </system.web>
'</configuration>
// Name this C# file HandlerTest.cs and compile it with the
// command line: csc /t:library /r:System.Web.dll HandlerTest.cs.
// Copy HandlerTest.dll to your \bin directory.

using System.Web;

namespace HandlerExample
{
   public class MyHttpHandler : IHttpHandler
   {
      // Override the ProcessRequest method.
      public void ProcessRequest(HttpContext context)
      {
         context.Response.Write("<H1>This is an HttpHandler Test.</H1>");      
         context.Response.Write("<p>Your Browser:</p>");
         context.Response.Write("Type: " + context.Request.Browser.Type + "<br>");
         context.Response.Write("Version: " + context.Request.Browser.Version);
      }

      // Override the IsReusable property.
      public bool IsReusable
      {
         get { return true; }
      }
   }
}

/*
______________________________________________________________

To use this handler, include the following lines in a Web.config file.

<configuration>
   <system.web>
      <httpHandlers>
         <add verb="*" path="handler.aspx" type="HandlerExample.MyHttpHandler,HandlerTest"/>
      </httpHandlers>
   </system.web>
</configuration>
*/
package HandlerExample ; 
// Name this J# file HandlerTest.jsl and compile it with the
// command line: vjc /t:Library /r:System.Web.dll HandlerTest.jsl.
// Copy HandlerTest.dll to your \bin directory.
import System.Web.*;

public class MyHttpHandler implements IHttpHandler
{
    // Override the ProcessRequest method.
    public void ProcessRequest(HttpContext context)
    {
        context.get_Response().
            Write("<H1>This is an HttpHandler Test.</H1>");
        context.get_Response().
            Write("<p>Your Browser:</p>");
        context.get_Response().Write(("Type: "
            + context.get_Request().get_Browser().get_Type() + "<br>"));
        context.get_Response().Write(("Version: "
            + context.get_Request().get_Browser().get_Version()));
    } //ProcessRequest

    // Override the IsReusable property.
    /** @property 
     */
    public boolean get_IsReusable()
    {
        return true;
    } //get_IsReusable
} //MyHttpHandler

/*
______________________________________________________________

To use this handler, include the following lines in a Web.config file.

<configuration>
   <system.web>
      <httpHandlers>
         <add verb="*" path="handler.aspx" 
            type="HandlerTest.HandlerExample.MyHttpHandler,HandlerTest"/>
      </httpHandlers>
   </system.web>
</configuration>
*/
// Name this JScript file handlertest.js and compile it with the
// command line: jsc /t:library /r:system.web.dll handlertest.js
// Copy HandlerTest.dll to your bin directory.
import System.Web

package HandlerExample{
    
    class MyHttpHandler implements IHttpHandler{
        
        // Override the ProcessRequest method.
        function IHttpHandler.ProcessRequest(context : HttpContext){
            context.Response.Write("<H1>This is an HttpHandler Test.</H1>")
            context.Response.Write("<p>Your Browser:</p>")
            context.Response.Write("Type: " + context.Request.Browser.Type + "<br>")
            context.Response.Write("Version: " + context.Request.Browser.Version)
        }
        
        // Override the IsReusable property.        
        function get IHttpHandler.IsReusable() : Boolean{
            return true
        }
    }
}

//______________________________________________________________
//
// To use the above handler, use the following lines in a
// Web.config file (remove the comment markers)
//
//<configuration>
//   <system.web>
//      <httpHandlers>
//         <add verb="*" path="handler.aspx" type="HandlerExample.MyHttpHandler,HandlerTest"/>
//      </httpHandlers>
//   </system.web>
//</configuration>

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

IHttpHandler インターフェイス
IHttpHandler メンバ
System.Web 名前空間