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. Replies
    1. 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

      Delete

  2. Thanks for your marvelous posting! I quite enjoyed reading it, you happen to be a great author. I will remember to bookmark your blog and will eventually come back very soon. Go to best social plan for get more related topic. Have a nice evening!
    Situs BandarQ, Poker, Domino 99 Online Terpercaya - Situs Judi Bola Online Terbesar dan Terpercaya Indonesia

    ReplyDelete
  3. Telah Hadir Agen Poker, DominoQQ, Capsa Susun, Bandar Ceme,Ceme Keliling, & Live Poker Terbaik dan Terpercaya.

    Hanya dengan Minimal Deposit 10 ribu Bonus 10 ribu dan Minimal Withdraw 25 ribu anda dapat bermain di Acehpoker;

    1. Acehpoker memberikan bonus Referral 15% (Seumur Hidup)
    2. Sistem keamanan terjamin dan Data pribadi akan aman bersama kami.
    3. Player Vs Player ( 100% No Robot)
    4. Dengan Sistem Confirm Deposit terbaru Max 2 menit (Jika semua Nama di Id dan di bank
    sama)
    5. CS yang ramah dan Melayani dengan Professional
    6. Online 365 Hari 24 Jam
    7. Anda Menang berapapun Kami Bayar tanpa Maksimal Withdraw dan Tidak ada batas maksimal
    withdraw dalam 1 hari.
    8. Dapat bermain 6 permainan hanya dengan 1 Web , yaitu Poker , DominoQQ , Bandar Ceme, Capsa Susun, Ceme Keliling, Live Poker
    9. Bisa bermain di Android dan IOS
    10. Sistem pembagian Kartu menggunakan teknologi yang mutakhir dengan sistem Random Permanent (acak) , Dan tersedia Ratusan meja untuk tempat anda bermain

    Pin BBM : 563AB8CA
    yahoo : mahadewi374@yahoo.com
    Line: Lilly080615

    Bola
    Agen Bola Terpercaya
    Daftar Judi Bola Maxbet
    Bandar Bola IBCBET
    Daftar Bola BCA
    Cara Bermain Poker
    Agen Poker Terpercaya
    Poker Bonus Deposit
    Cara Daftar Poker
    Bandar Ceme Terpercaya
    Cara Bermain Poker
    Situs Poker Terpercaya
    Judi Bandar Capsa
    Poker Bonus Member Baru
    Panduan Bermain Poker
    Agen Poker Terbaik
    Poker Promo Poker Online
    Poker Online Terpercaya
    Capsa Susun Uang Asli
    Qiu Qiu Uang Asli
    Poker Online Terbaik
    Domino QQ Online
    Bandar Ceme Keliling
    Judi Poker Online
    Agen Ceme Keliling
    qiu qiu
    texas holdem poker
    Poker Online Indonesia

    ReplyDelete
  4. 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
  5. 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
  6. this is really impressive i hope i see more from this post

    Judi online

    ReplyDelete
  7. Situs BandarQ Online Terbaik dan Terpercaya Hanya di situs BANDARKIU
    Daftar

    ReplyDelete
  8. 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
  9. 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