Please navigate to the bottom of the page for Table of Contents

Thursday, June 2, 2011

ASP.NET HttpHandlers

An ASP.NET HTTP handler is a process (frequently referred to as the "endpoint") that runs in response to a request made to an ASP.NET Web application. The most common handler is an ASP.NET page handler that processes .aspx files. When users request an .aspx file, the request is processed by the page through the page handler. You can create your own HTTP handlers that render custom output to the browser. Using HttpHandlers to serve up content you might normally serve using a standard ASP.NET page (such
as a dynamic file download request) can be a good idea in your application because it allows you to write a
specialized handler that eliminates some of the overhead of a standard ASP.NET handler. HttpHandlers are best suited for generating content such as RSS feeds and serving images.

Let’s write a simple HttpHandler that will return a requested image to the user. To add a handler to your web project, right click on your web project in solution explorer, select Add, New Item… and then select a Generic Handler. Visual Studio generates all the required plumbing for you as shown below:

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

namespace WebApplication2
{
/// <summary>
/// Summary description for Handler1
/// </summary>
public class Handler1 : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}

public bool IsReusable
{
get
{
return false;
}
}
}
}


As it is apparent, the ProcessRequest method is the method you use to actually process the incoming HTTP request. Now let’s modify this code to serve up images requested by the user as a query string parameter. This would require us to parse the query string, change the content type and stream out the requested file as the response. Note that this example does not do error handling or content caching.


using System.Web;

namespace WebApplication2
{
/// <summary>
/// Summary description for Handler1
/// </summary>
public class Handler1 : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
// default to a generic image
string imageName = "GenericImage.jpg";

// parse user request
if (!string.IsNullOrEmpty(context.Request.QueryString["img"]))
imageName = context.Request.QueryString["img"];

// send the image file
context.Response.ContentType = "image/jpeg";
context.Response.WriteFile(imageName);
}

public bool IsReusable
{
get
{
return false;
}
}
}
}

The example above shows the use of a generic handler that handles the .ashx file extension. You can also server custom file extensions using almost the same code and adding new httpHandler entries to the web config file.

21 comments:

  1. The Blog gave me idea about asp.net HTTP handlers My sincere thanks for sharing this post Please Continue to share this kind of post
    Dot Net Training in Chennai

    ReplyDelete
  2. Wow amazing i saw the article with execution models you had posted. It was such informative. Really its a wonderful article. Selenium Training in Chennai | Cloud Computing Training in Chennai

    ReplyDelete
  3. Hello Nikhil,

    Hip Hip Hooray! I was always told that slightly slow in the head, a slow learner. Not anymore! It’s like you have my back. I can’t tell you how much I’ve learnt here and how easily! Thank you for blessing me with this effortlessly ingestible digestible content.
    I have created an application which generates a report by getting the data from our archived files (.zip file). By the time, the application is reaching a file with size more than 150 mb, it is running out of memory while creating the object of that particular file. Can someone help me by telling if there is a way to resolve this issue?
    Java comes in different flavours with lots of variations in Virtual Machines. Some Virtual Machines are good for development but running enterprise level applications on them might result in performance loss. JVMs can be a single use JVM or continuous JVMs.
    Follow my new blog if you interested in just tag along me in any social media platforms!

    Thanks,
    Kevin

    ReplyDelete
  4. this is really impressive i hope i see more from this post

    Judi online

    ReplyDelete
  5. Having someone you know you can text at any hour and tell them absolutely anything and know they are trustworthy is the best feeling ever. yakinqq

    ReplyDelete
  6. Artikel yang sangat bagus menarik dan bermanfaat

    Bergabunglah disini dan rasakan sensasi bermain Situs Poker, Domino99, Pokerqq, QQ Online, Domino Qiu, Qiu Qiu Online, Poker Qiu Qiu yang memberikan kemenangan besar hanya di http://Maxbetqq.net/ Agen Poker IND terpercaya yang memberikan kemananga besar jackpot besar bersama Situs Poker, Domino99, Pokerqq, QQ Online, Domino Qiu, Qiu Qiu Online, Poker Qiu Qiu

    Promo HOT Di Poker Online Terpercaya Maxbetqq :
    – Bonus Bulanan Megajackpot
    – Bonus New Member 20% (Minimal Deposit Rp25.000 | Maksimal Bonus Rp.50.000)
    – Bonus Rollingan 0,5%
    – Bonus Deposit Rp. 5000 Setiap Hari
    – Bonus Refferal 10% Up To 60%

    7 Games Dalam 1 User ID :

    ✔️ Texas Poker
    ✔️ Domino QQ
    ✔️ Capsa Susun
    ✔️ Bandar Ceme
    ✔️ Ceme Keliling
    ✔️ Super Ten
    ✔️ Pot OMAHA

    Info Maxbetqq Anda Bisa Langsung Menghubungi Lewat :

    Livechat : http://Maxbetqq.net/
    Whatsapp : +66613295868
    WeChat : MaxbetQQ
    Line : MaxbetQQ

    QQ NET
    QQ.NET
    QQ PAGCOR
    ONLINE QQ
    DAFTAR QQ
    QQ ONLEN
    POKERQQ
    POKERQQIDN
    QQ ONLINE
    DOMINO QIU
    MAXBETQQ.NET
    SITUS POKER
    AGEN POKERQQ
    AGEN DOMIN99
    POKER QIU QIU
    QIU QIU ONLINE
    AGEN POKER UANG ASLI
    AGEN POKER TERPERCAYA

    ReplyDelete
  7. situs judi online
    ACEVIP tempat nonton live streaming pertandingan EURO CUP 2021 di Indonesia yang menyediakan negara terlengkap.
    Kunjungi : https://rebrand.ly/ace7888

    ReplyDelete
  8. I have been looking for this site for a very longtime thanks for the key information you have shared, I will help to share your blog link on my facebook page with others members on my forum.
    I will also take the advantage to share with you the new UNDETECTED FAKE BANK STATEMENTS APP people are using to generate bank history for their loan approval worldwide legally , you can also join our 299.3k members TELEGRAM GROUP on how this forum operate.

    ReplyDelete
  9. Thanks for sharing your thoughts with us. I am really impressed by your content. Now its time to avail best limo service in houston for more information.

    ReplyDelete
  10. ASP.NET HTTPHandlers are essential components for customizing the handling of specific types of requests. The Security Wordpess They enable developers to process requests and generate responses dynamically.

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete