Übersicht über die Integration von COM-AnwendungenIntegrating with COM Applications Overview

Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) bietet dem Entwickler von verwaltetem Code eine reichhaltige Umgebung zum Erstellen von verbundenen Anwendungen. provides the managed code developer with a rich environment for creating connected applications. 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 WCFWCF-Dienstmoniker WCFWCF-Webdienste direkt in Ihren vorhandenen Code integrieren.However, if you have a substantial investment in unmanaged COM-based code and do not want to migrate, you can still integrate WCFWCF Web services directly into your existing code by using the WCFWCF service moniker. Der Dienstmoniker kann in vielen verschiedenen COM-basierten Entwicklungsumgebungen wie Office VBA, Visual Basic 6.0 oder Visual C++ 6.0 verwendet werden.The service moniker can be used from a wide range of COM-based development environments, such as Office VBA, Visual Basic 6.0, or Visual C++ 6.0.

Hinweis

Der Dienstmoniker verwendet einen WCFWCF-Kommunikationschannel für die gesamte Kommunikation.The service moniker uses a WCFWCF communication channel for all communication. Die Sicherheits- und Identitätsmechanismen für diesen Channel unterscheiden sich von den Mechanismen in COM- und DCOM-Standardproxys.The security and identity mechanisms for that channel differ from those used in standard COM and DCOM proxies. Da der Dienstmoniker darüber hinaus einen WCFWCF-Kommunikationschannel verwendet, beträgt die Standardtimeoutdauer für alle Aufrufe eine Minute.In addition, because the service moniker uses a WCFWCF communication channel the default timeout period is one minute for all calls.

Der Dienstmoniker wird mit der GetObject-Funktion dazu verwendet, dem nicht verwalteten Entwickler einen stark typisierten, COM-spezifischen Ansatz zum Aufrufen von WCFWCF-Webdiensten zur Verfügung zu stellen.The service moniker is used with the GetObject function to provide the unmanaged developer with a strongly-typed, COM-specific approach for calling WCFWCF Web services. Dies erfordert eine lokale, für COM sichtbare Definition des WCFWCF-Webdienstvertrags und der zu verwendenden Bindung.This requires a local, COM-visible definition of the WCFWCF Web service contract and the binding that is to be used. Ebenso wie andere WCFWCF-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.Like other WCFWCF clients, the service moniker must construct a typed channel to the service, though this channel construction occurs transparently to the COM programmer on the first method call.

Bei der Verwendung des Monikers geben Anwendungen ebenso wie andere WCFWCF-Clients die Adresse, die Bindung und den Vertrag für die Kommunikation mit einem Dienst an.In common with other WCFWCF clients, when using the moniker, applications specify the address, binding and contract to communicate with a service. Der Vertrag kann mithilfe der folgenden Methoden spezifiziert werden:The contract can be specified in one of the following ways:

  • Typisierter Vertrag: Der Vertrag wird auf dem Clientcomputer als für COM sichtbarer Typ registriert.Typed contract – the contract is registered as a COM visible type on the client machine.

  • WSDL-Vertrag: Der Vertrag wird in Form eines WSDL-Dokuments angegeben.WSDL contract – the contract is supplied in the form of a WSDL document.

  • MEX-Vertrag: Der Vertrag wird zur Laufzeit von einem MEX (Metadata Exchange)-Endpunkt abgerufen.MEX contract – the contract is retrieved at runtime from a Metadata Exchange (MEX) endpoint.

Vom Dienstmoniker unterstützte ParameterParameters Supported by the Service Moniker

In der folgenden Tabelle werden die Parameter aufgeführt, die vom Dienstmoniker unterstützt werden.The following table shows the parameters that are supported by the service moniker.

ParameterParameter BeschreibungDescription
address URL-Adresse des Diensts.URL location of the service.
binding Bindungsabschnittsname für die Anwendungskonfiguration.Binding section name from the application configuration.
bindingConfiguration Benannte Bindungsinstanz innerhalb des benannten Bindungsabschnitts.Named binding instance from within the named binding section.
contract Schnittstellenbezeichner (Interface identifier, IID), der den Dienstvertrag oder den Vertragsnamen (von MEX) darstellt.Interface identifier (IID) that represents the service contract or the contract name (from MEX).
wsdl WSDL-Dokument, das eine alternative Form der Vertragsdefinition enthält.WSDL document that provides an alternative form of contract definition.
spnIdentity SPN (Server Principal Name)-Identität, die zur Kommunikation mit dem Dienst verwendet werden soll.Server principal name (SPN) identity to be used to communicate with the service.
upnIdentity UPN (User Principal Name)-Identität, die zur Kommunikation mit dem Dienst verwendet werden soll.User principal name (UPN) identity to be used to communicate with the service.
dnsIdentity DNS-Identität, die zur Kommunikation mit dem Dienst verwendet werden soll.DNS identity to be used to communicate with the service.
mexAddress URL-Adresse des MEX-Endpunkts (Metadata Exchange) des Diensts.URL location of the Metadata Exchange (MEX) endpoint of the service.
mexBinding Bindungsabschnittsname für die Anwendungskonfiguration zur Verbindung mit dem MEX-Endpunkt.Binding section name from the application configuration to connect with the MEX endpoint.
mexBindingConfiguration Benannte Bindungsinstanz innerhalb des benannten Bindungsabschnitts zur Verbindung mit dem MEX-Endpunkt.Named binding instance from within the named binding section to connect with the MEX endpoint.
bindingNamespace Namespace des Bindungsabschnittsnamens für den abgerufenen MEX.Namespace of the binding section name from the retrieved MEX.
contractNamespace Namespace des Vertrags für den abgerufenen MEX.Namespace of the contract from the retrieved MEX.
mexSpnIdentity SPN (Server Principal Name)-Identität, die für die Kommunikation mit dem MEX-Endpunkt verwendet werden soll.Server principal name (SPN) identity to be used to communicate with the MEX endpoint.
mexUpnIdentity UPN (User Principal Name)-Identität, die für die Kommunikation mit dem MEX-Endpunkt verwendet werden soll.User principal name (UPN) identity to be used to communicate with the MEX endpoint.
mexDnsIdentity DNS-Identität, die für die Kommunikation mit dem MEX-Endpunkt verwendet werden soll.DNS identity to be used to communicate with the MEX endpoint.
serializer Geben Sie entweder die Verwendung des "XML"- oder des "datacontract"-Serialisierungsprogramms an.Specify the use of either the "xml" or "datacontract" serializer.

Hinweis

Auch bei Verwendung mit vollständig COM-basierten Clients erfordert der Dienstmoniker, dass WCFWCF und .NET Framework 2.0 auf dem Clientcomputer installiert sind.Even when used with entirely COM-based clients, the service moniker requires WCFWCF and the supporting .NET Framework 2.0 to be installed on the client computer. Außerdem müssen Clientanwendungen, die den Dienstmoniker verwenden, die entsprechende Version der .NET Framework-Laufzeit laden.It is also critical that client applications that use the service moniker load the appropriate version of the .NET Framework runtime. Bei Verwendung des Monikers innerhalb von Office-Anwendungen ist möglicherweise eine Konfigurationsdatei erforderlich, um sicherzustellen, dass die richtige Framework-Version geladen ist.When using the moniker within Office applications, a configuration file may be required to ensure that the correct framework version is loaded. 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:For example, with Excel, the following text should be placed in a file called Excel.exe.config in the same directory as the Excel.exe file:

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

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

<startup>

<requiredRuntime version="v2.0.50727" />

</startup>

</configuration>

Siehe auchSee Also

Vorgehensweise: Registrieren und Konfigurieren eines DienstmonikersHow to: Register and Configure a Service Moniker