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 要求を処理するために使用する、組み込みのサーバー オブジェクト (Request、Response、Session、Server など) への参照を提供する HttpContext オブジェクト。
解説
カスタム HttpHandler コードを、次の例に示すように、ProcessRequest 仮想メソッドに配置します。
使用例
handler.aspx という名前のページを求めるクライアント要求への応答として、4 行のテキストを HTTP 出力ストリームに書き込むコード例を次に示します。handler.aspx に対するすべての要求は、アセンブリ HandlerTest.dll に格納されている名前空間 HandlerExample
の MyHttpHandler
クラスによって処理されます。
' 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