应用程序在ASP.net中保存PDF文件后结束

时间:2017-01-19 08:31:05

标签: c# asp.net pdf-generation nreco

我创建了一个从会话中获取HTML数据并将其保存为PDF的函数 因为我使用了NReco.PdfGenerator

private static string savePdf()
{
    if (HttpContext.Current.Session["ReservationPrintHtml"] != null)
    {
        StringBuilder objStringBuilder = ((StringBuilder)HttpContext.Current.Session["ReservationPrintHtml"]);
        string dir = HostingEnvironment.MapPath("~/Pdf");
        if (!Directory.Exists(dir))
        {
            Directory.CreateDirectory(dir);
        }
        string fileName = "PDF-" + DateTime.Now.ToString("yyyyMMdd-HHMMssffffff") + ".pdf";
        string downloadFile = Path.Combine(dir, fileName);
        string htmlContent = objStringBuilder.ToString();
        byte[] pdfBytes = (new NReco.PdfGenerator.HtmlToPdfConverter()).GeneratePdf(htmlContent);
        File.WriteAllBytes(downloadFile, pdfBytes);
        return fileName;
    }
    else
    {
        return null;
    }
}

我没有遇到任何有关PDF生成的问题但是,执行此功能后,它会直接调用Application_End中的Global.asax 我试过如果我在应用程序中遇到任何错误但Application_Error没有执行。

任何人都可以知道这是什么问题吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

经过长时间的搜索和谷歌搜索后,我发现我将文件保存在项目中包含的PDF文件夹中。
因此,每当生成新的PDF文件{>> 1}} AppDomain文件夹更改运行后,文件夹中的每个recycle更改都会包含在解决方案包含的项目中。 所以我通过在15-20文件中添加fcnMode="Disabled"来找到解决方案。

web.cofig