Ok, so we put back the 2019 EO bin files (including eowp.exe), enabled EOWP, and added code to try to log crash data. We compiled the website and rebooted the server. Here are the modifications we made to our Global.asax.cs file:
Code: C#
//Turn Off Client-Side Debugging
EO.Web.Runtime.DebugLevel = 0;
//Enable EnableEOWP
EO.Base.Runtime.EnableEOWP = true;
//Disable the automatic report
EO.Base.Runtime.EnableCrashReport = false;
//Handle CrashDataAvailable event
EO.Base.Runtime.CrashDataAvailable += Runtime_CrashDataAvailable;
void Runtime_CrashDataAvailable(object sender, EO.Base.CrashDataEventArgs e)
{
//Log the Crash Data to our internal Error Log
Error_Log.Write(e.Data.ToString(), "EO Crash Log");
}
Does this look like the changes we need to make?
Also, we wrapped the EO calls in a try/catch
Code: C#
try
{
//Get the pdf result
EO.Pdf.HtmlToPdfResult result = EO.Pdf.HtmlToPdf.ConvertUrl(Itinerary_URL, doc);
}
catch (Exception ex) //<--Problem Detected
{
//Write to error log
Error_Log.Write($"There was a problem converting the PDF URL to document. Exception:{ex}", "lnkbtn_PDF_Itinerary_Click");
}
However, the PDF is still giving us errors intermittently:
Exception:EO.Pdf.HtmlToPdfException: Conversion failed. Browser engine failed to render page. Failed on command 1 ---> System.Exception: Browser engine failed to render page. Failed on command 1
at EO.Internal.pb.a(String A_0)
at EO.Internal.pb.a(b A_0, a8d A_1, WriteArgDelegate A_2)
at EO.Internal.pb.a(HtmlToPdfOptions A_0, Single A_1, Single A_2, ame A_3, List`1 A_4, agb A_5)
at EO.Internal.a3l.a(agb A_0, Single& A_1)
at EO.Internal.a3l.a(agb A_0)
--- End of inner exception stack trace ---
at EO.Pdf.HtmlToPdfException.b(Exception A_0)
at EO.Internal.a3l.a(agb A_0)
at EO.Pdf.HtmlToPdfSession.RenderAsPDF(PdfDocument doc)
at EO.Pdf.HtmlToPdf.ConvertUrl(String url, PdfDocument doc, HtmlToPdfOptions options)
at EO.Pdf.HtmlToPdf.ConvertUrl(String url, Stream stream, HtmlToPdfOptions options)
at EO.Pdf.HtmlToPdf.ConvertUrl(String url, Stream stream)
It's not writing the more detailed EO information to our error log...is that because we have the offending call in a try/catch?