RazorEngine desagrupa plantillas compiladas

Actualmente, estoy usando RazorEngine v2.1 como parte de un proceso en segundo plano que envía correos electrónicos con plantilla (miles de ellos). Para acelerar las cosas, las plantillas se compilan con su suma md5 como nombre. Esto hace que, cuando se cambia una plantilla, se vuelva a compilar y todos los correos electrónicos que usan la plantilla puedan usar la misma plantilla compilada. Realizo un seguimiento de los nombres de las plantillas compiladas en una lista para saber cuándo volver a llamar a compilar (y hacer algunas otras cosas).

El problema: Se me ha ocurrido que después de un tiempo realmente largo y después de muchas modificaciones de plantillas, es probable que todas estas plantillas compiladas en caché aún estén en la memoria, ya que parece que están almacenadas en undynamic. Para este proceso en particular, que podría durar meses sin reiniciarse, esto podría constituir una pérdida grave de memoria si todas las versiones anteriores de las plantillas aún están pendientes.

La pregunta: ¿Hay una manera de desagrupar en caché las plantillas antiguas para que ya no se queden en eldynamic?

Si, por ejemplo, yo pudiera conservar los objetos de la plantilla compilada y simplemente pasarlos a RazorEngine cuando quisiera usarlos, podría decidir cuándo tirarlos y eso eliminaría la pérdida de memoria. Sin embargo, si RazorEngine ya tiene una forma de evitar esto, entonces conocerlo también sería útil ya que no puedo encontrar muchas referencias a este problema en particular en Internet. Hay muchas cosas sobre por qué se deberían usar las plantillas compiladas para reducir el uso de la memoria, pero me costó mucho encontrar algo acerca de las toneladas y toneladas de plantillas compiladas no utilizadas que se acumulan en una aplicación de larga duración.

EDITAR: Acabo de leer un poco sobre cómo funciona el almacenamiento en caché y si se pasa el mismo nombre con una plantilla diferente, se volverá a almacenar en caché y descartará la anterior. Sin embargo, el problema sigue siendo el problema, ya que a lo largo del tiempo se agregarán y eliminarán correos electrónicos y con el tiempo todos los correos electrónicos eliminados aún estarán disponibles (aunque no se almacenarán copias de cada versión de la plantilla).

Respuestas a la pregunta(3)

Su respuesta a la pregunta