2009-07-20 14 views
6

Tengo una aplicación WinForms 2.0 con aproximadamente 18 informes creados con Microsoft ReportViewer. Cada vez que se inicia un informe, se crea un conjunto dinámico (expression_host_xxxxxx.dll). Este ensamblaje dinámico se carga en la memoria y permanece allí durante el resto de los recursos que consumen el tiempo de ejecución de la aplicación. Incluso si solo tenemos 1 informe y comenzamos esto es 3 veces, obtenemos 3 de estos ensamblados expression_host en la memoria.Los conjuntos Expression_Host siguen creciendo en números

¿Hay alguna manera de evitar que se creen estos ensamblajes o de descargar estos ensamblajes después de que hayamos terminado?

TIA

Respuesta

4

Ya encontré una solución. En el control ReportViewer puede significar para ejecutar el informe en una llamada caja de arena aplicación en el dominio:

`rpv1.LocalReport.ExecuteReportInSandboxAppDomain();` 

esto no evitará la creación de las asambleas Expression_Host debido a que estos son necesarios para evaluar las expresiones que ha utilizado en tu reporte Sin embargo, comenzará el informe en un nuevo dominio de aplicación. Ese nuevo dominio de aplicación se descarga luego de que el informe finaliza y, como resultado, cualquier ensamblaje cargado en ese dominio también se descarga.

+0

Esto volvió con un mensaje obsoleto, alguna otra idea? – Neo

Cuestiones relacionadas