Creating an HttpHandler to handle request of your own extension

Posted by Jalpesh P. Vadgama on ASP.net Weblogs See other posts from ASP.net Weblogs or by Jalpesh P. Vadgama
Published on Sun, 02 Jan 2011 11:50:41 GMT Indexed on 2011/01/02 12:54 UTC
Read the original article Hit count: 634

Filed under:
|
|

I have already posted about http handler in details before some time here. Now let’s create an http handler which will handle my custom extension. For that we need to create a http handlers class which will implement Ihttphandler. As we are implementing IHttpHandler we need to implement one method called process request and another one is isReusable property. The process request function will handle all the request of my custom extension.

so Here is the code for my http handler class.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;

namespace Experiement
{
    public class MyExtensionHandler:IHttpHandler
    {
        public MyExtensionHandler()
        { 
            //Implement intialization here
        }
        
        bool IHttpHandler.IsReusable
        {
            get { return true; }
        }

        void IHttpHandler.ProcessRequest(HttpContext context)
        {
           string excuttablepath = context.Request.AppRelativeCurrentExecutionFilePath;

           if (excuttablepath.Contains("HelloWorld.dotnetjalps"))
           {
               Page page = new HelloWorld();
               page.AppRelativeVirtualPath = context.Request.AppRelativeCurrentExecutionFilePath;
               page.ProcessRequest(context);

           }
        }
    }
}

Here in above code you can see that in process request function I am getting current executable path and then I am processing that page.

Now Lets create a page with extension .dotnetjalps and then we will process this page with above created http handler. so let’s create it.

Creating your own extension

It will create a page like following.

Extension

Now let’s write some thing in page load Event like following.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Experiement
{
    public partial class HelloWorld : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("Hello World");
        }
    }
}

Now we have to tell our web server that we want to process request from this .dotnetjalps extension through our custom http handler for that we need to add a tag in httphandler sections of web.config like following.

<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
      <httpHandlers>
        <add verb="*" path="*.dotnetjalps" type="Experiement.MyExtensionHandler,Experiement"/>
      </httpHandlers>
    </system.web>
</configuration>

That’s it now run that page into browser and it will execute like following in browser

Browser

That’s you.. Isn’t it cool.. Stay tuned for more.. Happy programming..

Technorati Tags: ,,
Shout it

© ASP.net Weblogs or respective owner

Related posts about ASP.NET

Related posts about c#.net