2

我对网络处理程序知之甚少。我所知道的是 Web 处理程序用于创建一些动态文件创建目的。

而且我还知道如何添加 Web 处理程序。

但是,我需要在我的 ASP.NET 项目中使用 Web 处理程序来创建 PDF。

4

2 回答 2

2

您可以使用 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(); 

}
于 2015-05-06T11:44:21.787 回答
2

阅读ASP.NETMSDN 中的 HttpHandler 是什么:HTTP 处理程序和 HTTP 模块概述

不需要处理程序来提供文件以通过 HTTP 下载。您还可以在 WebForms 页面以及 ASP.NET MVC 和 WebAPI 中生成和返回文件响应。

根据您使用的技术,请查看:

当然,处理程序顶部的任何层(与直接从处理程序运行代码相反)都会增加额外的开销(尽管它会是最小的),我怀疑 WebForms 是最重的。MVC 和 WebAPI通过 MvcHandler运行。

于 2015-05-06T11:51:43.593 回答