Ich habe derzeit eine in C# geschriebene .NET-Klassenbibliothek, die ihre Funktionalität über COM einem C++ - Programm (pre.NET) zugänglich macht.Erstellen eines COM-Automatisierungsservers in C#
Wir möchten nun die Bibliothek aus dem Prozess verschieben, um den Adressraum in der Hauptanwendung freizugeben (es ist eine Bildverarbeitungsanwendung, und große Bilder verbrauchen Adressraum). Ich erinnere mich an meine VB6 Tage, dass man einen "OLE Automation Server" erstellen konnte. Das Betriebssystem würde den Server .exe automatisch starten und stoppen, wenn Objekte erstellt/zerstört wurden. Das sieht für uns ganz nach unserem Geschmack aus: Soweit ich sehen kann, würde sich im Client nichts ändern, außer dass CoCreateInstance mit CLSCTX_LOCAL_SERVER anstelle von CLSCTX_INPROC_SERVER aufgerufen würde.
Wie würde ich einen solchen Out-of-Process-Server in C# erstellen? Entweder gibt es keine Informationen online oder meine Terminologie ist veraltet.
ich zu dem Schluss an einem Punkt kam, dass dies nicht unterstützt wurde, aber ich haven‘ Das habe ich nirgendwo explizit gesehen. Ich habe versucht, CoRegisterClassObject zu interpingen, um eine Factory für ein C# COM-Objekt zu registrieren, aber ich habe es nie zum Laufen gebracht. Neugierig, wenn noch jemand Glück gehabt hat! –
Überprüfen Sie meine Antwort hier: http://stackoverflow.com/questions/24724784/com-interop-with-ipc-in-c-sharp/24732010#24732010 –