Défaillance de segmentation sur AWS Lambda

This article was translated from English: Does it need improvement?
Translated
View the article in English

Lors de l'utilisation d'AWS Lambda dans un conteneur Linux et de l'appel de la méthode de rendu de manière concurrente à plusieurs reprises, cela entraîne parfois l'exception suivante.


Exception :

Erreur : L'exécution s'est arrêtée avec l'erreur : signal : défaut de segmentation Runtime.ExitError

Solutions

La solution consiste à appeler la méthode GC.Collect après le rendu du document PDF. Nous n'avons rencontré ce problème sur aucune autre plateforme cloud. Cela a commencé à se produire seulement dans la version récente ; l'ancienne avec .NET 6 utilisant Amazon Linux 2 fonctionne toujours.

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()
VB   C#