Generación de reportes en AppDomain aislado
Configuración: <trust> vs GenerateReportsInAppDomainSandbox
Para que los reportes puedan generarse de forma aislada (en un AppDomain separado), dos configuraciones deben trabajar de forma opuesta: si una está en true, la otra debe estar en false. Nunca pueden estar las dos en el mismo valor.
| Configuración | Ubicación | Valor |
|---|---|---|
<trust legacyCasModel="false" level="Full" /> | web.config | false |
GenerateReportsInAppDomainSandbox | AppSettings.config | true |
Y a la inversa: si se activa el trust, el appsetting debe quedar en false, para que funcione de manera aislada.
¿Por qué?
- Es necesario reiniciar el
Pull. - Es necesario mantener la renderizacion aislada para permitir la ejecucion de
Datadog - El elemento
<trust legacyCasModel="false" level="Full" />hereda el modelo de seguridad del .NET Framework 3.5 (CAS - Code Access Security). Este modelo choca con la creación de unAppDomainaislado. - Por eso, cuando queremos ejecutar el reporte de manera aislada (
GenerateReportsInAppDomainSandbox = true), debemos desactivar ese modelo heredado dejando eltrustenfalse. - Mantener ambos activos (o ambos inactivos) rompe el aislamiento: uno habilita el comportamiento legacy y el otro el aislado, y no pueden convivir.