Partager via


Comment : utiliser un moniker de service avec des contrats d'échange de métadonnées

Après avoir développé de nouveaux services WCF, vous pouvez décider que vous souhaitez être en mesure d'appeler ces services à partir d'un script ou d'une application Visual Basic 6.0. Une méthode consisterait à générer un assembly client WCF, à inscrire l'assembly avec COM, à installer l'assembly dans le Global Assembly Cache (GAC), puis à référencer les types COM à partir de votre code Visual Basic. Lors de la distribution de l'application, vous devrez distribuer également l'assembly client WCF. L'utilisateur devra ensuite inscrire l'assembly client WCF avec COM et le placer dans le GAC. COM Interop WCF vous permet également d'effectuer les mêmes appels de service sans reposer sur un assembly client WCF. Le moniker WCF vous permet d'appeler tout service WCF à partir de tout langage compatible avec COM (Visual Basic, VBScript, Visual Basic pour applications (VBA), et ainsi de suite) en spécifiant un URI de point de terminaison d'échange de métadonnées (Mex) que le moniker de service utilise pour extraire des informations de type à propos du service. Cette rubrique décrit comment appeler l'exemple WCF de Mise en route à l'aide d'un moniker WCF qui spécifie un point de terminaison Mex.

ms733885.note(fr-fr,VS.90).gifRemarque :
Les types définis par l'assembly client WCF ne sont jamais réellement instanciés. L'assembly est utilisé uniquement pour les métadonnées.

Utilisation du moniker de service avec une adresse Mex

  1. Générez l'exemple de Mise en route et utilisez Internet Explorer pour naviguer jusqu'à son URL (https://localhost/ServiceModelSamples/Service.svc) afin de vous assurer que le service fonctionne.

  2. Créez un script Visual Basic ou une application Visual Basic qui contient le code suivant :

        monString = "service:mexaddress=https://localhost/ServiceModelSamples/Service.svc/MEX"
        monString = monString + ", address=https://localhost/ServiceModelSamples/Service.svc"
        monString = monString + ", contract=ICalculator, contractNamespace=http://Microsoft.ServiceModel.Samples"
        monString = monString + ", binding=WSHttpBinding_ICalculator, bindingNamespace=http://Microsoft.ServiceModel.Samples"
    
        Set calc = GetObject(monString)
        MsgBox calc.Add(3, 4)
    
  3. Exécutez l'application ou le script Visual Basic.

    ms733885.note(fr-fr,VS.90).gifRemarque :
    Le service que vous appelez doit exposer un point de terminaison Mex pour que le moniker soit en mesure de lire les métadonnées du service. Pour plus d'informations, consultez Comment : publier les métadonnées d'un service à l'aide d'un fichier de configuration.

    ms733885.note(fr-fr,VS.90).gifRemarque :
    Si le moniker est mal formé ou si le service n'est pas disponible, l'appel de GetObject retourne une erreur indiquant que la syntaxe n'est pas valide. Si vous recevez cette erreur, assurez-vous que le moniker que vous utilisez est correct et que le service est disponible.

Voir aussi

Tâches

Comment : utiliser un moniker de service avec des contrats WSDL

Concepts

Comment : utiliser le moniker de service Windows Communication Foundation sans inscription