Faute de segmentation sur AWS Lambda
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 de nombreuses fois, cela provoque parfois l'exception suivante.
Exception :
Erreur : l'exécution s'est arrêtée avec l'erreur : signal : erreur 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 seulement commencé à se produire avec la version récente ; l'ancienne avec .NET 6 utilisant Amazon Linux 2 fonctionne encore.
// Create an instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string to a PDF document
PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);
// Explicitly trigger garbage collection to help manage memory usage
GC.Collect();
// Create an instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string to a PDF document
PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);
// Explicitly trigger garbage collection to help manage memory usage
GC.Collect();
' Create an instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the HTML string to a PDF document
Dim document As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)
' Explicitly trigger garbage collection to help manage memory usage
GC.Collect()

