Vue d'ensemble de l'intégration à des applications COM
Windows Communication Foundation (WCF) fournit au développeur de code managé un environnement enrichi qui facilite la création d’applications connectées. Toutefois, si vous avez beaucoup investi dans un code COM non managé et que vous ne souhaitez pas effectuer de migration, vous pouvez toujours intégrer les services web WCF directement dans ce code grâce au moniker de service WCF. Le moniker de service peut être utilisé à partir d'une large gamme d'environnements de développement COM, tels qu'Office VBA, Visual Basic 6.0 ou Visual C++ 6.0.
Notes
Le moniker de service utilise un canal de communication WCF pour toutes les communications. Les mécanismes de sécurité et d'identification de ce canal diffèrent de ceux utilisés sur les proxys standard COM et DCOM. En outre, comme le moniker de service utilise un canal de communication WCF, le délai d’attente par défaut est d’une minute pour tous les appels.
Le moniker de service est utilisé avec la fonction GetObject
afin d’offrir au développeur de code non managé une approche fortement typée, spécifique à COM pour appeler des services web WCF. Ces appels nécessitent une définition locale, visible par COM, du contrat de service web WCF et de la liaison à utiliser. Comme d’autres clients WCF, le moniker de service doit construire un canal typé vers le service considéré, bien que cette construction devienne visible par le programmeur COM lors du premier appel de la méthode.
Comme pour les autres clients WCF, lorsqu’elles utilisent le moniker, les applications spécifient l’adresse, la liaison et le contrat afin de pouvoir communiquer avec le service requis. Le contrat peut être spécifié (au choix) comme suit :
Contrat typé : le contrat est enregistré sur l'ordinateur client sous la forme d'un type visible par COM.
Contrat WSDL : le contrat est fourni sous forme de document WSDL.
Contrat MEX : le contrat est récupéré au moment de l’exécution depuis un point de terminaison MEX (Metadata Exchange).
Paramètres pris en charge par le moniker de service
Le tableau suivant contient les paramètres pris en charge par le moniker de service.
Paramètre | Description |
---|---|
address |
Adresse URL du service. |
binding |
Nom de la section de liaison à partir de la configuration d'application. |
bindingConfiguration |
Instance de liaison nommée à partir de la section de liaison nommée. |
contract |
Identificateur d'interface (IID) qui représente le contrat de service ou le nom de contrat (obtenu à partir de l'échange MEX). |
wsdl |
Document WSDL qui offre une autre définition pour le contrat. |
spnIdentity |
Identité de nom principal de serveur (Server Principal Name, SPN) à utiliser pour communiquer avec le service. |
upnIdentity |
Identité de nom principal d'utilisateur (User Principal Name, UPN) à utiliser pour communiquer avec le service. |
dnsIdentity |
Identité DNS à utiliser pour communiquer avec le service. |
mexAddress |
Adresse URL du point de terminaison MEX du service. |
mexBinding |
Nom de section de liaison depuis la configuration d'application avec laquelle se connecter au point de terminaison MEX. |
mexBindingConfiguration |
Instance de liaison nommée à partir de la section de liaison nommée avec laquelle se connecter au point de terminaison MEX. |
bindingNamespace |
Espace de noms du nom de section de liaison obtenu à partir de l’échange MEX récupéré. |
contractNamespace |
Espace de noms du contrat obtenu à partir de l'échange MEX récupéré. |
mexSpnIdentity |
Identité SPN à utiliser pour communiquer avec le point de terminaison MEX. |
mexUpnIdentity |
Identité UPN à utiliser pour communiquer avec le point de terminaison MEX. |
mexDnsIdentity |
Identité DNS à utiliser pour communiquer avec le point de terminaison MEX. |
serializer |
Indiquez le type de sérialiseur utilisé : « xml » ou « contrat de données ». |
Notes
Même lorsqu’il est utilisé avec des clients entièrement COM, le moniker de service nécessite l’installation de WCF et de .NET Framework 2.0 sur l’ordinateur client. Il est également essentiel que les applications clientes qui utilisent le moniker de service chargent la version appropriée de l'exécution .NET Framework. Lorsque le moniker de service est utilisé dans le cadre d'applications Office, un fichier de configuration peut s'avérer nécessaire afin d'assurer la chargement de la version d'infrastructure adéquate. Par exemple, pour Excel, vous devez insérer le texte suivant dans un fichier Excel.exe.config, puis enregistrer ce fichier dans le même répertoire que le fichier Excel.exe :
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns=
http://schemas.microsoft.com/.NetConfiguration/v2.0
>
<startup>
<requiredRuntime version="v2.0.50727" />
</startup>
</configuration>