我在网络处理程序方面的知识相当少。我所知道的是web处理程序用于创建一些动态文件创建的目的。 而且我也知道如何添加Web处理程序。 但是,我需要在我的Asp.Net项目中使用Web处理程序来创建PDF。 有人有想法吗?
答案 0 :(得分:1)
您可以使用HTTP处理程序来提供这样的PDF:
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();
}
答案 1 :(得分:1)
阅读What is an HttpHandler in ASP.NET和MSDN: HTTP Handlers and HTTP Modules Overview。
您不需要处理程序来提供通过HTTP下载的文件。您还可以在WebForms页面以及ASP.NET MVC和WebAPI中生成和返回文件响应。
根据您使用的技术,请查看:
当然,处理程序顶部的任何层(与直接从处理程序运行代码相反)会增加额外的开销(虽然它会很小),我怀疑WebForms是最重的。 MVC和WebAPI运行through the MvcHandler。