Udostępnij za pośrednictwem


Instrukcje: Używanie krótkiej nazwy z kontraktami wymiany metadanych

Po utworzeniu niektórych nowych usług WCF możesz zdecydować, że chcesz mieć możliwość wywoływania tych usług ze skryptu lub aplikacji Visual Basic 6.0. Jedną z metod jest wygenerowanie zestawu klienta WCF, zarejestrowanie zestawu za pomocą modelu COM, zainstalowanie zestawu w funkcji GAC, a następnie odwołanie do typów COM z poziomu kodu języka Visual Basic. Podczas dystrybucji aplikacji konieczne będzie również dystrybuowanie zestawu klienta WCF. Następnie użytkownik będzie musiał zarejestrować zestaw klienta WCF za pomocą modelu COM i umieścić go w GAC. WCF COM Interop umożliwia również wykonywanie tych samych wywołań usługi bez polegania na zestawie klienta WCF. Moniker WCF umożliwia wywołanie dowolnej usługi WCF z dowolnego języka zgodnego z com (Visual Basic, VBScript, Visual Basic for Applications (VBA) i tak dalej, określając identyfikator URI punktu końcowego wymiany metadanych (Mex), którego moniker usługi używa do wyodrębniania informacji o typie usługi. W tym temacie opisano sposób wywoływania przykładu Getting Started WCF przy użyciu pseudonimu WCF, który określa punkt końcowy Mex.

Uwaga

Typy zdefiniowane przez zestaw klienta WCF nigdy nie są tworzone wystąpienia. Zestaw jest używany tylko dla metadanych.

Używanie nazwy moniker usługi z adresem Mex

  1. Skompiluj przykład Wprowadzenie i użyj przeglądarki, aby przejść do adresu URL (http://localhost/ServiceModelSamples/Service.svc), aby upewnić się, że usługa działa.

  2. Utwórz skrypt języka Visual Basic lub aplikację Visual Basic zawierającą następujący kod:

    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. Uruchom aplikację lub skrypt języka Visual Basic.

    Uwaga

    Wywoływana usługa musi uwidocznić punkt końcowy Mex, aby można było odczytać metadane z usługi. Aby uzyskać więcej informacji, zobacz How to: Publish Metadata for a Service Using a Configuration File (Instrukcje: publikowanie metadanych dla usługi przy użyciu pliku konfiguracji).

    Uwaga

    Jeśli moniker jest źle sformułowany lub jeśli usługa jest niedostępna, wywołanie GetObject metody zwróci błąd z komunikatem "Nieprawidłowa składnia". Jeśli wystąpi ten błąd, upewnij się, że używany pseudonim jest poprawny i usługa jest dostępna.

Zobacz też