2011-04-30 5 views
5

He estado leyendo mucho sobre System.AddIn (también denominado Managed Marco Add-in). Le permite activar complementos en diferentes modos de aislamiento, incluidos AppDomains separados o procesos separados.El logro de la seguridad de aplicación con System.AddIn y proceso de aislamiento

La mayoría de los artículos que he encontrado apuntan al hecho de que el aislamiento del proceso puede utilizarse para lograr la confiabilidad de la aplicación, donde un complemento puede bloquearse con una excepción no controlada, pero la aplicación no se bloqueará y puede descargar el delincuente add-in y sigue adelante.

todavía tengo que encontrar un artículo que realmente detalla exactamente cómo hacer esto. He estado tratando de descubrir a través de prueba y error, pero hasta ahora con todo lo que he probado, la aplicación host falla si un complemento arroja una excepción no controlada. Tengo cada complemento funcionando en su propio proceso, pero parece que hay más piezas del rompecabezas que no entiendo.

¿Es posible utilizar System.AddIn para crear un servidor que puede sobrevivir a una excepción no controlada en una de sus complementos? ¿Hay ejemplos de código o artículos que deletreen esto en algún lado? Si esto no es posible con System.AddIn, ¿hay otra arquitectura que permita esto en una aplicación .NET?

Respuesta

0

Usted encontró la this artículo?

usted dejó su carrera complemento en un dominio de aplicación diferente y escucha de excepción no detectada planteada en este dominio.

+3

sí lo hice leer a través de eso. Ese artículo describe una forma de * registrar * qué complemento ha matado a su aplicación, pero no le permite guardar la aplicación de morir. A partir de .NET 2.0, cualquier excepción no controlada en cualquier dominio de aplicación dentro del proceso matará todo el proceso. AFAIK tienes que usar procesos separados para poder proteger la aplicación de complementos bloqueados. – RationalGeek

Cuestiones relacionadas