Se System.AddIn sobre todo acerca de lo que es más fácil de usar Remoting o lo hace que sea más difícil hacerlo?

StackOverflow https://stackoverflow.com/questions/1736683

Pregunta

Se necesitan al menos 7 asambleas y restringir el modelo de datos de mi de complemento a los tipos de datos que se puede tratar con comunicación remota antes de que las características de aislamiento de dominio de aplicación empiezan a trabajar. Es tan complejo! El blog de equipos System.AddIn implica para mí que estaban tratando de volver a crear un modelo mental de COM, un modelo nunca he entendido muy bien en el primer lugar y no estoy vendido en los beneficios. (COM Si es tan bueno por qué está muerta? -Rhetorical pregunta.) Si no necesito para reflejar o interoperabilidad con COM legado (como VSTO no usando System.AddIn), es posible crear sólo algunas clases que se cargan en la carga un nuevo dominio de aplicación?

Puedo escribir el código descubrimiento de mí mismo, me he hecho antes y una aplicación ingenua es bastante rápido porque no me gusta la iteración en los ensamblados en la GAC!

Así que mi pregunta concreta es, ¿Puedo conseguir el aislamiento dominio de aplicación que proporcionan AddIns con algunos fragmentos de código Remoting, y lo que serían esas?

¿Fue útil?

Solución

No estoy completamente seguro de que de que cualquier respuesta a su pregunta cumple con los términos del sitio - no existe una solución

.

Sí, la comunicación remota es más fácil, ya que está hecho para usted. Sin embargo, es muy controlado y que ha identificado, requiere un poco de trabajo para sondear todo junto. El archivo de caché vomitados por el proceso de descubrimiento no es bienvenido sea.

System.AddIn sobresale en aislamiento, que en realidad es un poco de un culo para armar desde cero en una manera robusta, flexible. Es compatible con alojamiento de proceso transversal y el paso bastante simple de elementos WPF de usuario de un dominio a otro.

Una cosa para recordar sin embargo es que el público objetivo de MAF no es aquellos que están tratando de conectar dos aplicaciones juntas. Se dirige a los desarrolladores que desean sistemas todavía seguras enchufables (cruz de hosting proceso de protección para la aplicación de la raíz de las excepciones no controladas, AppDomains permitir la ejecución de código potencialmente extranjero con seguridad definida). Desde la mayoría de comunicación, dirigirte directamente hacia System.Runtime.Remoting o WCF.

Si desea continuar con System.AddIn, considere la tubería constructor de complementos para Visual Studio!

En conclusión - usted puede conseguir el aislamiento System.AddIn mediante comunicación remota pero para obtener un sistema decente va a requerir más de unos pocos fragmentos. Estoy tratando de replicar yo mismo y estoy tropezando con todo componente de la interfaz remota -. System.AddIn algo lo hace sin problemas

Otros consejos

Después de jugar un poco con System.Add durante bastante tiempo, estoy convencido de que se añadió como una solución de propósito especial de una sola vez para su uso Microsoft. Me sorprende que tiene elevada a una parte central del marco .NET. No parecen tener el refinamiento y pulido necesario para un componente .NET framework general.

Me gustaría encontrar una forma alternativa de crear administrado .NET complementos que no requiere mucho esfuerzo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top