Sdílet prostřednictvím


Postupy: Použití monikeru služby u kontraktů výměny metadat

Po vývoji některých nových služeb WCF se můžete rozhodnout, že chcete tyto služby volat ze skriptu nebo aplikace Visual Basic 6.0. Jednou z metod by bylo vygenerování klientského sestavení WCF, registrace sestavení pomocí modelu COM, instalace sestavení v GAC a následné odkazování na typy modelu COM z kódu jazyka Visual Basic. Při distribuci aplikace budete muset také distribuovat sestavení klienta WCF. Uživatel pak bude muset zaregistrovat klientské sestavení WCF na com a umístit ho do GAC. Zprostředkovatele komunikace modelu COM WCF také umožňuje provádět stejná volání služby, aniž byste museli spoléhat na sestavení klienta WCF. Moniker WCF umožňuje volat jakoukoli službu WCF z libovolného jazyka kompatibilního s com (Visual Basic, VBScript, jazyk Visual Basic for Application (VBA) a tak dále) zadáním identifikátoru URI koncového bodu výměny metadat (Mex), který moniker služby používá k extrahování informací o typu služby. Toto téma popisuje, jak volat ukázku Getting Started WCF pomocí monikeru WCF, který určuje koncový bod Mex.

Poznámka:

Typy definované sestavením klienta WCF se ve skutečnosti nikdy neskutevují. Sestavení se používá pouze pro metadata.

Použití monikeru služby s adresou Mex

  1. Sestavte ukázku Začínáme a pomocí prohlížeče přejděte na její adresu URL (http://localhost/ServiceModelSamples/Service.svc), abyste měli jistotu, že služba funguje.

  2. Vytvořte skript jazyka Visual Basic nebo aplikaci jazyka Visual Basic, která obsahuje následující kód:

    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. Spusťte aplikaci nebo skript jazyka Visual Basic.

    Poznámka:

    Služba, kterou voláte, musí vystavit koncový bod Mex pro moniker, aby mohl číst metadata ze služby. Další informace naleznete v tématu Postupy: Publikování metadat pro službu pomocí konfiguračního souboru.

    Poznámka:

    Pokud je moniker poškozený nebo pokud je služba nedostupná, volání GetObject vrátí chybu s informacemi o neplatné syntaxi. Pokud se zobrazí tato chyba, ujistěte se, že je název, který používáte, správný a že je služba dostupná.

Viz také