Unterschied zwischen „traditionellem“ COM und COM+ (in Komponentendiensten)
-
23-10-2019 - |
Frage
Mit der "traditionellen" Art meine ich, die DLL in der Registrierung zu registrieren.
Es scheint eine andere Methode zu geben, um es einzurichten, indem es zu MMC-> Komponentendiensten-> com+ -Anwendungen und Hinzufügen der .tlb
Datei.
Ich habe eine COM -Bibliothek, die beide Methoden unterstützt. Wenn es installiert wird, registriert es sich in der Registrierung als COM -Komponente und funktioniert einwandfrei. Als ich das hinzufügte .tlb
Datei Mit der Komponentendienste -Methode scheint das Verhalten unterschiedlich zu sein und es wird begonnen, Fehler zu vermitteln.
Ich vermute, es hat etwas mit dem Marschall- und Interprozess-Objekttransfer zu tun? (Entschuldigung, ich bin wirklich ein Noob im COM -Bereich)
Kann mich jemand auf eine gute Ressource verweisen, um mein Verständnis zu klären?
Lösung
COM+ (Komponentendienste) bietet eine Menge Infrastruktur außerhalb des Boxs. Zum Beispiel bietet COM+ Transaktion, Sicherheit, Objektpooling und einige andere Dienste.
Wenn Sie eine COM -Komponente unter COM+ registrieren, wird "aus dem Prozess" ausgeführt. In diesem Modus haben Sie garantiert einen Proxy zwischen Ihrem COM -Server und seinen Clients.
Der beste Ort, an den ich mir vorstellen kann, um mehr über Com+ zu erfahren, ist die offizielle MS -Website: http://msdn.microsoft.com/en-us/library/ms685978(vs.85).aspx
Andere Tipps
Stimmen Sie dem vorherigen Beitrag zu.
Eine Sache, die hinzugefügt werden muss: Tatsächlich ist die Registrierung der Typ -Bibliothek (.tlb -Datei) für COM normal, nicht nur für COM+. Die Typbibliothek wird vom IDL -Compiler automatisch generiert. Es enthält eine Beschreibung Ihrer Schnittstellen und Objekte.
Damit Sie Ihre COM -Komponente in ein Projekt "importieren" können und die Definition der Schnittstellen und Objekte sichtbar ist.