Diferencia entre "tradicional" com y com+ (en servicios de componentes)
-
23-10-2019 - |
Pregunta
Por la forma "tradicional" me refiero a registrar la DLL en el registro.
Parece haber otro método para configurarlo yendo a MMC-> Servicios de componentes-> COM+ Aplicaciones y agregando las .tlb
expediente.
Tengo una biblioteca COM que admite ambos métodos. Cuando se instala, se registra en el registro como un componente COM y funciona bien. Sin embargo, cuando agregué el .tlb
Archivo utilizando el método de servicios de componentes, el comportamiento parece ser diferente y comienza a dar errores.
¿Sospecho que tiene algo que ver con el mariscal y la transferencia de objetos entre procesos? (Lo siento, realmente soy un novato en el área de COM)
¿Alguien puede señalarme un buen recurso para aclarar mi comprensión?
Solución
COM+ (Servicios de componentes) proporciona mucha infraestructura fuera de la caja; Por ejemplo, COM+ proporciona transacciones, seguridad, agrupación de objetos y algunos otros servicios.
Cuando registre un componente COM en COM+, se ejecutará "fuera de proceso"; En este modo, se le garantiza que tenga un proxy entre su servidor COM y sus clientes.
El mejor lugar en el que puedo pensar para aprender más sobre COM+ es el sitio oficial de MS: http://msdn.microsoft.com/en-us/library/ms685978(vs.85).aspx
Otros consejos
De acuerdo con la publicación anterior.
Una cosa que debe agregar: realmente registrar la biblioteca de tipos (archivo .TLB) es normal para com también, no solo para com+. La biblioteca de tipos se genera automáticamente por el compilador IDL. Contiene una descripción de sus interfaces y objetos.
Para que pueda "importar" su componente COM en algún proyecto, y la definición de las interfaces y objetos es visible.