Partager via


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>

Voir aussi