Reputation: 1022
I have pretty less knowledge in web handlers. All I know is web handlers are used for creating some dynamic file creation purpose.
And also I know how to add the Web handlers.
But, I need to use web handlers in my ASP.NET project for PDF creation purpose.
Upvotes: 2
Views: 2469
Reputation: 923
You can have a HTTP handler to serve out your PDFs like this:
public void ProcessRequest (HttpContext context) {
// Get your file as byte[]
string filename = "....file name.";
byte[] data = get your PDF file content here;
context.Response.Clear();
context.Response.AddHeader("Pragma", "public");
context.Response.AddHeader("Expires", "0");
context.Response.AddHeader("Content-Type", ContentType);
context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", filename));
context.Response.AddHeader("Content-Transfer-Encoding", "binary");
context.Response.AddHeader("Content-Length", data.Length.ToString());
context.Response.BinaryWrite(data);
context.Response.End();
}
Upvotes: 2
Reputation: 151586
Read What is an HttpHandler in ASP.NET and MSDN: HTTP Handlers and HTTP Modules Overview.
You do not need a handler to serve files for downloading over HTTP. You can also generate and return a file response in a WebForms page, as well as from ASP.NET MVC and WebAPI.
Depending on the technology you use, check out:
Of course, any layer on top of a handler (as opposed to running your code from a handler directly) adds additional overhead (though it'll be minimal), where I suspect WebForms to be the heaviest. MVC and WebAPI are run through the MvcHandler.
Upvotes: 2