Delen via


Procedure: Een servicemoniker gebruiken met Metagegevens Exchange Contracts

Nadat u enkele nieuwe WCF-services hebt ontwikkeld, kunt u besluiten dat u deze services wilt kunnen aanroepen vanuit een script of een Visual Basic 6.0-toepassing. Een methode is om een WCF-clientassembly te genereren, de assembly te registreren bij COM, de assembly in de GAC te installeren en vervolgens te verwijzen naar de COM-typen uit uw Visual Basic-code. Wanneer u de toepassing distribueert, moet u ook de WCF-clientassembly distribueren. De gebruiker moet vervolgens de WCF-clientassembly registreren bij COM en deze in de GAC plaatsen. Met WCF COM Interop kunt u ook dezelfde serviceoproepen uitvoeren zonder gebruik te maken van een WCF-clientassembly. Met de WCF-moniker kunt u elke WCF-service aanroepen vanuit elke COM-compatibele taal (Visual Basic, VBScript, Visual Basic for Applications (VBA) enzovoort door een eindpunt-URI voor metagegevensuitwisseling (Mex) op te geven die door de service-moniker wordt gebruikt om typegegevens over de service op te halen. In dit onderwerp wordt beschreven hoe u het WCF-voorbeeld aanroept met behulp van een WCF-moniker waarmee een Mex-eindpunt wordt opgegeven.

Notitie

De typen die door de WCF-clientassembly zijn gedefinieerd, worden nooit daadwerkelijk geïnstantieerd. De assembly wordt alleen gebruikt voor metagegevens.

De service moniker gebruiken met een Mex-adres

  1. Bouw het voorbeeld Aan de slag en gebruik een browser om naar de BIJBEHORENDE URL (http://localhost/ServiceModelSamples/Service.svc) te bladeren om ervoor te zorgen dat de service werkt.

  2. Maak een Visual Basic-script of Visual Basic-toepassing die de volgende code bevat:

    monString = "service:mexaddress=http://localhost/ServiceModelSamples/Service.svc/MEX"  
    monString = monString + ", address=http://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. Voer de Visual Basic-toepassing of het script uit.

    Notitie

    De service die u aanroept, moet een Mex-eindpunt beschikbaar maken voor de moniker om de metagegevens van de service te kunnen lezen. Zie Voor meer informatie : Metagegevens voor een service publiceren met behulp van een configuratiebestand.

    Notitie

    Als de moniker ongeldig is of als de service niet beschikbaar is, retourneert de aanroep GetObject een fout met de tekst 'Ongeldige syntaxis'. Als u deze fout ontvangt, controleert u of de moniker die u gebruikt juist is en of de service beschikbaar is.

Zie ook