Actualmente tengo una biblioteca de clases .NET escrita en C# que expone su funcionalidad a través de COM a un programa C++ (pre.NET).Creación de un servidor de automatización COM en C#
Ahora queremos mover la biblioteca fuera del proceso para liberar espacio de direcciones en la aplicación principal (es una aplicación de procesamiento de imágenes, y las imágenes grandes se comen el espacio de direcciones). Recuerdo en mis días de VB6 que se podía crear un "servidor de automatización OLE". El SO se iniciará automáticamente y detendrá el .exe del servidor a medida que se crean/destruyen los objetos. Esto parece ser el ajuste perfecto para nosotros: por lo que puedo ver, nada cambiaría en el cliente, excepto que llamaría a CoCreateInstance con CLSCTX_LOCAL_SERVER en lugar de CLSCTX_INPROC_SERVER.
¿Cómo crearía un servidor fuera de proceso en C#? ¡O no hay información en línea al respecto, o mi terminología está desactualizada/desactualizada!
llegué a la conclusión en un momento que esto no fue apoyada, pero no he He visto eso explícitamente declarado en cualquier lugar. He intentado intercalar en CoRegisterClassObject para registrar una fábrica para un objeto COM de C#, pero nunca lo hice funcionar. ¡Curioso si alguien más ha tenido suerte! –
Consulte mi respuesta aquí: http://stackoverflow.com/questions/24724784/com-interop-with-ipc-inc-c-sharp/24732010#24732010 –