Vorgehensweise: Verwenden eines Dienstmonikers mit Metadatenaustausch-VerträgenHow to: Use a Service Moniker with Metadata Exchange Contracts

Nach dem Entwickeln einige neue WCF-Dienste, können Sie entscheiden, dass diese Dienste aus einem Skript oder einer Visual Basic 6.0-Anwendung aufrufen soll.After developing some new WCF services, you may decide that you want to be able to call these services from a script or a Visual Basic 6.0 application. Eine Methode wäre, generieren eine WCF-Clientassembly, die Assembly bei COM registriert, die Assembly im GAC installieren, und verweisen dann die COM-Typen aus dem Visual Basic-Code.One method would be to generate a WCF client assembly, register the assembly with COM, install the assembly in the GAC, and then reference the COM types from your Visual Basic code. Wenn Sie die Anwendung verteilen, müssen Sie auch die WCF-Client-Assembly zu verteilen.When you distribute the application, you will have to distribute the WCF Client assembly as well. Der Benutzer muss dann die WCF-Clientassembly bei COM registrieren und im GAC platzieren.The user will then have to register the WCF client assembly with COM and place it in the GAC. WCF-COM-Interop ermöglicht Ihnen die gleichen Dienstaufrufe ohne Rückgriff auf einen WCF-Clientassembly.WCF COM Interop also allows you to make the same service calls without relying on a WCF client assembly. Der WCF-Monikers können Sie WCF-Dienst aus einer beliebigen COM-kompatiblen Sprache (Visual Basic, VBScript, Visual Basic for Applications (VBA) usw.) aufrufen, durch Angabe von einem Metadatenaustausch (Mex)-Endpunkt URI, der der Dienstmoniker zum Extrahieren von Typ verwendet Informationen zum Dienst.The WCF moniker allows you to call any WCF service from any COM-compatible language (Visual Basic, VBScript, Visual Basic for Applications (VBA), and so on) by specifying a metadata exchange (Mex) endpoint URI that the service moniker uses to extract type information about the service. Dieses Thema beschreibt, wie das erste Schritte mit WCF-Beispiel, das mit einem WCF-Moniker, der einen Mex-Endpunkt angibt.This topic describes how to call the Getting Started WCF sample using a WCF moniker that specifies a Mex endpoint.

Hinweis

Durch die WCF-Clientassembly definierten Typen werden nie tatsächlich instanziiert.The types defined by the WCF client assembly are never actually instantiated. Die Assembly wird nur für Metadaten verwendet.The assembly is used only for metadata.

Verwenden des Dienstmonikers mit einer MEX-AdresseUsing the service moniker with a Mex address

  1. Erstellen Sie das Beispiel Einstieg und Verwenden von Internet Explorer, um die URL zu suchen (http://localhost/ServiceModelSamples/Service.svc) um sicherzustellen, dass der Dienst funktioniert.Build the Getting Started sample and use Internet Explorer to browse to its URL (http://localhost/ServiceModelSamples/Service.svc) to ensure that the service is working.

  2. Erstellen Sie ein Visual Basic-Skript oder eine Visual Basic-Anwendung, die den folgenden Code enthält:Create a Visual Basic script or Visual Basic application that contains the following code:

    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. Führen Sie die Visual Basic-Anwendung oder das Skript aus.Run the Visual Basic application or script.

    Hinweis

    Der Dienst, den Sie aufrufen, muss einen MEX-Endpunkt für den Moniker verfügbar machen, damit dieser die Metadaten aus dem Dienst lesen kann.The service you are calling must expose a Mex endpoint for the moniker to be able to read the metadata from the service. Weitere Informationen finden Sie unter Vorgehensweise: Veröffentlichen von Metadaten für einen Dienst mithilfe einer Konfigurationsdatei.For more information, see How to: Publish Metadata for a Service Using a Configuration File.

    Hinweis

    Ist der Moniker nicht ordnungsgemäß formatiert oder der Dienst nicht verfügbar, wird nach dem GetObject-Aufruf ein Syntaxfehler zurückgegeben.If the moniker is malformed or if the service is unavailable, the call to GetObject will return an error saying "Invalid Syntax." Vergewissern Sie sich bei Auftreten dieses Fehlers, dass der verwendete Moniker korrekt und der Dienst verfügbar ist.If you receive this error, make sure the moniker you are using is correct and the service is available.

Siehe auchSee Also

Vorgehensweise: Verwenden des Windows Communication Foundation-Dienstmonikers ohne RegistrierungHow to: Use the Windows Communication Foundation Service Moniker without Registration
Vorgehensweise: Verwenden eines Dienstmonikers mit WSDL-VerträgenHow to: Use a Service Moniker with WSDL Contracts