Segmentierungsfehler auf AWS Lambda
Beim gleichzeitigen Aufruf der Render-Methode in einem Linux-Container mit AWS Lambda verursacht dies manchmal die folgende Ausnahme.
Ausnahme:
Fehler: Laufzeit endete mit Fehler: Signal: Speicherzugriffsfehler Runtime.ExitError
Lösungen
Die Lösung besteht darin, die Methode GC.Collect
aufzurufen, nachdem das PDF-Dokument gerendert wurde. Wir sind auf dieses Problem bei keiner anderen Cloud-Plattform gestoßen. Dies begann erst in der aktuellen Version aufzutreten; der alte läuft immer noch mit .NET 6 unter Amazon Linux 2.
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);
GC.Collect();
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);
GC.Collect();
Dim renderer As New ChromePdfRenderer()
Dim document As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)
GC.Collect()