Freigeben über


Übersicht über die Integration von COM-Anwendungen

Windows Communication Foundation (WCF) bietet dem Entwickler von verwaltetem Code eine reichhaltige Umgebung zum Erstellen von verbundenen Anwendungen. Wenn Sie jedoch eine erhebliche Investition in nicht verwaltetem COM-basiertem Code getätigt haben und nicht migrieren möchten, können Sie dennoch mit dem WCF-Dienstmoniker WCF-Webdienste direkt in Ihren vorhandenen Code integrieren. Der Dienstmoniker kann in vielen verschiedenen COM-basierten Entwicklungsumgebungen wie Office VBA, Visual Basic 6.0 oder Visual C++ 6.0 verwendet werden.

Tipp

Der Dienstmoniker verwendet einen WCF-Kommunikationschannel für die gesamte Kommunikation. Die Sicherheits- und Identitätsmechanismen für diesen Channel unterscheiden sich von den Mechanismen in COM- und DCOM-Standardproxys. Da der Dienstmoniker darüber hinaus einen WCF-Kommunikationschannel verwendet, beträgt die Standardtimeoutdauer für alle Aufrufe eine Minute.

Der Dienstmoniker wird mit der GetObject-Funktion dazu verwendet, dem nicht verwalteten Entwickler einen stark typisierten, COM-spezifischen Ansatz zum Aufrufen von WCF-Webdiensten zur Verfügung zu stellen. Dies erfordert eine lokale, für COM sichtbare Definition des WCF-Webdienstvertrags und der zu verwendenden Bindung. Ebenso wie andere WCF-Clients muss der Dienstmoniker einen typisierten Kanal für den Dienst erstellen, obwohl diese Kanalerstellung für den COM-Programmierer transparent beim ersten Methodenaufruf erfolgt.

Bei der Verwendung des Monikers geben Anwendungen ebenso wie andere WCF-Clients die Adresse, die Bindung und den Vertrag für die Kommunikation mit einem Dienst an. Der Vertrag kann mithilfe der folgenden Methoden spezifiziert werden:

  • Typisierter Vertrag: Der Vertrag wird auf dem Clientcomputer als für COM sichtbarer Typ registriert.
  • WSDL-Vertrag: Der Vertrag wird in Form eines WSDL-Dokuments angegeben.
  • MEX-Vertrag: Der Vertrag wird zur Laufzeit von einem MEX (Metadata Exchange)-Endpunkt abgerufen.

Vom Dienstmoniker unterstützte Parameter

In der folgenden Tabelle werden die Parameter aufgeführt, die vom Dienstmoniker unterstützt werden.

Parameter Beschreibung

address

URL-Adresse des Diensts.

binding

Bindungsabschnittsname für die Anwendungskonfiguration.

bindingConfiguration

Benannte Bindungsinstanz innerhalb des benannten Bindungsabschnitts.

contract

Schnittstellenbezeichner (Interface identifier, IID), der den Dienstvertrag oder den Vertragsnamen (von MEX) darstellt.

wsdl

WSDL-Dokument, das eine alternative Form der Vertragsdefinition enthält.

spnIdentity

SPN (Server Principal Name)-Identität, die zur Kommunikation mit dem Dienst verwendet werden soll.

upnIdentity

UPN (User Principal Name)-Identität, die zur Kommunikation mit dem Dienst verwendet werden soll.

dnsIdentity

DNS-Identität, die zur Kommunikation mit dem Dienst verwendet werden soll.

mexAddress

URL-Speicherort des MEX-Endpunkts (Metadata Exchange) des Diensts.

mexBinding

Bindungsabschnittsname für die Anwendungskonfiguration zur Verbindung mit dem MEX-Endpunkt.

mexBindingConfiguration

Benannte Bindungsinstanz innerhalb des benannten Bindungsabschnitts zur Verbindung mit dem MEX-Endpunkt.

bindingNamespace

Namespace des Bindungsabschnittsnamens für den abgerufenen MEX.

contractNamespace

Namespace des Vertrags für den abgerufenen MEX.

mexSpnIdentity

SPN (Server Principal Name)-Identität, die für die Kommunikation mit dem MEX-Endpunkt verwendet werden soll.

mexUpnIdentity

UPN (User Principal Name)-Identität, die für die Kommunikation mit dem MEX-Endpunkt verwendet werden soll.

mexDnsIdentity

DNS-Identität, die für die Kommunikation mit dem MEX-Endpunkt verwendet werden soll.

serializer

Geben Sie entweder die Verwendung des "XML"- oder des "datacontract"-Serialisierungsprogramms an.

Tipp

Auch bei Verwendung mit vollständig COM-basierten Clients erfordert der Dienstmoniker, dass WCF und .NET Framework 2.0 auf dem Clientcomputer installiert sind. Außerdem müssen Clientanwendungen, die den Dienstmoniker verwenden, die entsprechende Version der .NET Framework-Laufzeit laden. Bei Verwendung des Monikers innerhalb von Office-Anwendungen ist möglicherweise eine Konfigurationsdatei erforderlich, um sicherzustellen, dass die richtige Framework-Version geladen ist. In Excel muss beispielsweise der folgende Text in einer Datei mit dem Namen Excel.exe.config in dasselbe Verzeichnis abgelegt werden wie die Excel.exe-Datei:

<?xml version="1.0" encoding="utf-8"?>

<configuration xmlns=https://schemas.microsoft.com/.NetConfiguration/v2.0>

<startup>

<requiredRuntime version="v2.0.50727" />

</startup>

</configuration>

Siehe auch

Aufgaben

Gewusst wie: Registrieren und Konfigurieren eines Dienstmonikers