将 PDF 文件保存到 ASP.net 后申请结束
Application End after saving PDF file in ASP.net
我创建了一个函数,它从会话中获取 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 生成的问题,但是,在执行此函数后,它直接调用 Global.asax
中的 Application_End
我已经尝试过如果我在应用程序中遇到任何错误但 Application_Error
没有执行。
谁能知道问题出在哪里?
谢谢。
经过长时间的搜索和谷歌搜索,我发现我正在将文件保存在我的项目中包含的 PDF
文件夹中。
因此,每当文件夹更改 运行 时 AppDomain
recycle
生成新的 PDF 文件时,在解决方案包含的项目中包含的文件夹中的每 15-20
更改之后。
所以我通过在 web.cofig
文件中添加 fcnMode="Disabled"
找到解决方案,如下所示。
<httpRuntime targetFramework="4.5.2" fcnMode="Disabled" />
我创建了一个函数,它从会话中获取 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 生成的问题,但是,在执行此函数后,它直接调用 Global.asax
中的 Application_End
我已经尝试过如果我在应用程序中遇到任何错误但 Application_Error
没有执行。
谁能知道问题出在哪里?
谢谢。
经过长时间的搜索和谷歌搜索,我发现我正在将文件保存在我的项目中包含的 PDF
文件夹中。
因此,每当文件夹更改 运行 时 AppDomain
recycle
生成新的 PDF 文件时,在解决方案包含的项目中包含的文件夹中的每 15-20
更改之后。
所以我通过在 web.cofig
文件中添加 fcnMode="Disabled"
找到解决方案,如下所示。
<httpRuntime targetFramework="4.5.2" fcnMode="Disabled" />