2017-01-19 1 views
0

J'ai créé une fonction qui obtenir des données HTML de session et sauvegarder que PDF
pour que j'ai utilisé NReco.PdfGeneratorFin application après avoir sauvegardé le fichier PDF dans ASP.net

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; 
    } 
} 

Je ne suis pas face à toute question concernant génération de PDF, mais, après cette exécution de la fonction, il appelle directement Application_End dans Global.asax
J'ai essayé si je reçois une erreur dans l'application, mais Application_Error pas exécuté.

Quelqu'un peut-il avoir une idée du problème?
Merci.

Répondre

0

Après longue recherche et googler je trouve que je suis l'enregistrement des fichiers dans le dossier PDF qui a été inclus dans mon projet.
Donc, chaque fois nouveau fichier PDF a été généré AppDomainrecycle sur le changement de dossier courir après tous les changements 15-20 dans des dossiers qui sont inclus dans la solution comprenaient des projets. donc j'ai trouvé la solution en ajoutant fcnMode="Disabled" dans le fichier web.cofig comme ci-dessous.

<httpRuntime targetFramework="4.5.2" fcnMode="Disabled" />