This documentation is archived and is not being maintained.
IHttpHandler.ProcessRequest Method
.NET Framework 1.1
Enables processing of HTTP Web requests by a custom HttpHandler that implements the IHttpHandler interface.
[Visual Basic] Sub ProcessRequest( _ ByVal context As HttpContext _ ) [C#] void ProcessRequest( HttpContext context ); [C++] void ProcessRequest( HttpContext* context ); [JScript] function ProcessRequest( context : HttpContext );
Parameters
- context
- An HttpContext object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) used to service HTTP requests.
Remarks
Place your custom HttpHandler code in the ProcessRequest virtual method as shown in the following example.
Example
The following example writes four lines of text to the HTTP output stream in response to a client request for a page named handler.aspx. All requests for handler.aspx are serviced by the MyHttpHandler class in the namespace HandlerExample contained in the assembly HandlerTest.dll.
[Visual Basic] ' Name this Visual Basic file HandlerTest.vb and compile it with the ' command line: vbc /t: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="HandlerTest.HandlerExample.MyHttpHandler,HandlerTest"/> ' </httpHandlers> ' </system.web> '</configuration> [C#] // 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="HandlerTest.HandlerExample.MyHttpHandler,HandlerTest"/> </httpHandlers> </system.web> </configuration> */ [C++] // Name this C++ file HandlerTest.cpp and compile it with the // command line // cl /clr /LD HandlerTest.cpp // Copy HandlerTest.dll to your \bin directory. using namespace System; using namespace System::Web; namespace HandlerExample { public __gc class MyHttpHandler : public IHttpHandler { // Override the ProcessRequest method. public: void ProcessRequest(HttpContext* context) { context->Response->Write(S"<H1>This is an HttpHandler Test.</H1>"); context->Response->Write(S"<p>Your Browser:</p>"); context->Response->Write(String::Format(S"Type: {0}<br>", context->Request->Browser->Type)); context->Response->Write(String::Format(S"Version: {0}", context->Request->Browser->Version)); } // Override the IsReusable property. __property bool get_IsReusable() { 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="HandlerTest.HandlerExample.MyHttpHandler,HandlerTest"/> </httpHandlers> </system.web> </configuration> */ [JScript] // 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="HandlerTest.HandlerExample.MyHttpHandler,HandlerTest"/> // </httpHandlers> // </system.web> //</configuration>
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
IHttpHandler Interface | IHttpHandler Members | System.Web Namespace
Show: