microsoft - ¿Qué debo hacer para implementar un servidor COM "fuera de proceso" en C#?
microsoft office interop word application c# (4)
No puedo recomendar esto como el camino , pero podría crear un contenedor COM-callable para su biblioteca C #, luego crear un proyecto VB6 ActiveX exe que delegue llamadas a su biblioteca C #.
Estoy tratando de implementar un servidor COM "fuera de proceso" escrito en C #. ¿Cómo hago esto?
Necesito el código C # para estar "fuera de proceso" de mi aplicación C ++ principal, porque no puedo cargar el tiempo de ejecución .NET en mi espacio de proceso principal (¿POR QUÉ ?: Mi código C ++ está en una DLL que se carga en muchos clientes EXE diferentes , algunas de las cuales usan versiones diferentes del tiempo de ejecución de .NET. Dado que solo puede haber un tiempo de ejecución cargado en un solo proceso, mi mejor opción parece ser poner mi código C # en otro proceso).
Aquí podemos leer que es posible, pero el exe se cargará como una biblioteca y no se iniciará en su propio proceso como un exe. No sé si eso es un problema para ti? También contiene algunas soluciones posibles si desea hacer que actúe como un verdadero servidor com fuera del proceso. Pero tal vez usar otra forma de comunicación entre procesos sea mejor. Como .Net Remoting.
¿Por qué no puedes cargar el tiempo de ejecución .net en tu espacio de proceso? Es posible alojar el tiempo de ejecución .net y llamar a .NET usando COM.
Puede crear componentes COM + utilizando System.EnterpriseServices.ServicedComponent. En consecuencia, podrá crear una activación de componente fuera de proc e in-proc (cliente), así como todos los beneficios COM + de agrupación, comunicación remota, ejecución como servicio de Windows, etc.