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 riche pour la création d’applications connectées. Toutefois, si vous avez un investissement important dans du code COM non managé et que vous ne souhaitez pas migrer, vous pouvez toujours intégrer des services Web WCF directement dans votre code existant à l’aide du moniker de service WCF. Le moniker de service peut être utilisé à partir d’un large éventail d’environnements de développement COM, tels qu’Office VBA, Visual Basic 6.0 ou Visual C++ 6.0.

Remarque

Le moniker de service utilise un canal de communication WCF pour toutes les communications. Les mécanismes de sécurité et d’identité de ce canal diffèrent de ceux utilisés dans les proxys COM et DCOM standard. En outre, étant donné que le moniker de service utilise un canal de communication WCF, la période d’expiration par défaut est d’une minute pour tous les appels.

Le moniker de service est utilisé avec la fonction GetObject pour fournir au développeur non managé une approche fortement typée et spécifique à COM pour appeler des services Web WCF. Cela nécessite une définition locale et 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é de l’une des manières suivantes :

  • Contrat typé : le contrat est inscrit en tant que type visible COM sur l’ordinateur client.

  • Contrat WSDL : le contrat est fourni sous la forme d’un document WSDL.

  • Contrat MEX : le contrat est récupéré au moment de l’exécution à partir d’un point de terminaison MEX (Metadata Exchange).

Paramètres pris en charge par le moniker de service

Le tableau suivant montre les paramètres pris en charge par le moniker de service.

Paramètre Descriptif
address Emplacement de l’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 du contrat (à partir de MEX).
wsdl Document WSDL qui fournit une autre forme de définition de contrat.
spnIdentity Identité de nom principal du serveur à 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 Emplacement d’URL du point de terminaison MEX (Metadata Exchange) 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é du nom de principal du serveur (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 Spécifiez l’utilisation du sérialiseur « xml » ou « datacontract ».

Remarque

Même lorsqu’il est utilisé avec des clients entièrement BASÉS sur COM, le moniker de service requiert WCF et que le .NET Framework 2.0 pris en charge soit installé sur l’ordinateur client. Il est également essentiel que les applications clientes qui utilisent le moniker de service chargent la version appropriée du runtime .NET Framework. Lorsque vous utilisez le moniker dans les applications Office, un fichier de configuration peut être nécessaire pour vous assurer que la version correcte de l’infrastructure est chargée. Par exemple, avec Excel, le texte suivant doit être placé dans un fichier appelé Excel.exe.config 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