Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Windows Communication Foundation (WCF) bietet dem Entwickler von verwaltetem Code eine umfassende Umgebung zum Erstellen verbundener Anwendungen. Wenn Sie jedoch eine erhebliche Investition in nicht verwalteten COM-basierten Code haben und nicht migrieren möchten, können Sie WCF-Webdienste weiterhin direkt in Ihren vorhandenen Code integrieren, indem Sie den WCF-Dienst moniker verwenden. Der Dienstmoniker kann aus einer vielzahl von COM-basierten Entwicklungsumgebungen wie Office VBA, Visual Basic 6.0 oder Visual C++ 6.0 verwendet werden.
Hinweis
Der Dienstmoniker verwendet einen WCF-Kommunikationschannel für die gesamte Kommunikation. Die Sicherheits- und Identitätsmechanismen für diesen Kanal unterscheiden sich von denen, die in standardmäßigen COM- und DCOM-Proxys verwendet werden. 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 verwendet, um dem nicht verwalteten Entwickler einen stark typierten, COM-spezifischen Ansatz zum Aufrufen von WCF-Webdiensten bereitzustellen. Dies erfordert eine lokale, COM-sichtbare Definition des WCF-Webdienstvertrags und die Bindung, die verwendet werden soll. Wie andere WCF-Clients muss der Dienstmoniker einen typisierten Kanal für den Dienst erstellen, wobei dieser Kanalaufbau für den COM-Programmierer beim ersten Methodenaufruf transparent 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 auf eine der folgenden Arten angegeben werden:
Typierter Vertrag – der Vertrag wird als COM-sichtbarer Typ auf dem Clientcomputer registriert.
WSDL-Vertrag – der Vertrag wird in Form eines WSDL-Dokuments geliefert.
MEX-Vertrag – der Vertrag wird zur Laufzeit von einem Metadata Exchange (MEX)-Endpunkt abgerufen.
Vom Dienst Moniker unterstützte Parameter
In der folgenden Tabelle sind die Parameter aufgeführt, die vom Dienstmoniker unterstützt werden.
| Parameter | BESCHREIBUNG |
|---|---|
address |
URL-Speicherort des Diensts. |
binding |
Name des Bindungsabschnitts aus der Anwendungskonfiguration. |
bindingConfiguration |
Benannte Bindungsinstanz innerhalb des benannten Bindungsabschnitts. |
contract |
Schnittstellenbezeichner (IID), der den Servicevertrag oder den Vertragsnamen (von MEX) darstellt. |
wsdl |
WSDL-Dokument, das eine alternative Form der Vertragsdefinition bereitstellt. |
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 für die Kommunikation mit dem Dienst verwendet werden soll. |
mexAddress |
URL-Speicherort des Metadatenaustauschendpunkts (Metadata Exchange, MEX) des Diensts. |
mexBinding |
Name des Bindungsabschnitts aus der Anwendungskonfiguration, um eine Verbindung mit dem MEX-Endpunkt herzustellen. |
mexBindingConfiguration |
Benannte Bindungsinstanz innerhalb des benannten Bindungsbereichs, um eine Verbindung mit dem MEX-Endpunkt herzustellen. |
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 die Verwendung des Serializers "xml" oder "datacontract" an. |
Hinweis
Auch wenn er mit vollständig COM-basierten Clients verwendet wird, erfordert der Dienstmoniker, dass WCF und das unterstützende .NET Framework 2.0 auf dem Clientcomputer installiert sind. Es ist auch wichtig, dass Clientanwendungen, die den Dienstmoniker verwenden, die entsprechende Version der .NET Framework-Laufzeit laden. Wenn Sie den Moniker in Office-Anwendungen verwenden, ist möglicherweise eine Konfigurationsdatei erforderlich, um sicherzustellen, dass die richtige Frameworkversion geladen wird. Bei Excel sollte beispielsweise der folgende Text in einer Datei mit dem Namen Excel.exe.config im selben Verzeichnis wie die Excel.exe-Datei platziert werden:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns=
http://schemas.microsoft.com/.NetConfiguration/v2.0
>
<startup>
<requiredRuntime version="v2.0.50727" />
</startup>
</configuration>