¿Qué tengo que hacer para poner en práctica un "proc" COM servidor en C#?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Estoy tratando de implementar un "proc" servidor COM escrito en C#.¿Cómo puedo hacer esto?

Necesito el código de C# para ser "proc" desde mi principal aplicación de C++, ya que no puedo cargar el .NET en mi proceso principal espacio

Por QUÉ?:
Mi código C++ es un archivo DLL que se carga en muchos clientes diferentes EXE, algunos de los cuales utilizan diferentes versiones de el .NET runtime.Ya que sólo puede haber un tiempo de ejecución cargado en un proceso único, mi mejor opción parece ser la de poner mi código de C# en otro proceso.

¿Fue útil?

Solución

Usted puede crear componentes COM+ el uso del Sistema.EnterpriseServices.ServicedComponent.En consecuencia, usted será capaz de crear fuera de proceso y en el proceso (cliente) componente de activación, así como COM+ todos los beneficios de la agrupación, remoting, ejecutar como un servicio de windows, etc.

Otros consejos

Aquí podemos leer que es posible, pero el exe será cargado como una biblioteca y no se inicia en el propio proceso como un archivo exe.Yo no sé si eso es un problema para usted?También contiene algunas soluciones posibles si queremos hacer es actuar como un verdadero fuera de proceso de servidor com.Pero tal vez el uso de otra forma de comunicación entre procesos es mejor.Como .Net Remoting.

No puedo recomendar este como el camino, pero usted puede crear un COM-callable wrapper para su C# biblioteca, a continuación, crear una VB6 proyecto exe de ActiveX que los delegados de las llamadas a su C# biblioteca.

¿Por qué no puedes cargar el .net en procesar el espacio?Es posible alojar el .net y llame en .net usando COM.

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