Kurz: Vytvoření klienta Windows Communication Foundation
Tento kurz popisuje čtvrtý z pěti úloh potřebných k vytvoření základní aplikace WCF (Windows Communication Foundation). Přehled kurzů najdete v tématu Kurz: Začínáme s aplikacemi Windows Communication Foundation.
Další úlohou vytvoření aplikace WCF je vytvoření klienta načtením metadat ze služby WCF. Pomocí sady Visual Studio přidáte odkaz na službu, která získá metadata z koncového bodu MEX služby. Visual Studio pak vygeneruje soubor spravovaného zdrojového kódu pro proxy klienta v jazyce, který jste vybrali. Vytvoří také konfigurační soubor klienta (App.config). Tento soubor umožňuje klientské aplikaci připojit se ke službě v koncovém bodu.
Poznámka:
Pokud voláte službu WCF z projektu knihovny tříd v sadě Visual Studio, použijte funkci Přidat odkaz služby k automatickému vygenerování proxy a přidruženého konfiguračního souboru. Vzhledem k tomu, že projekty knihovny tříd tento konfigurační soubor nepoužívají, musíte přidat nastavení do vygenerovaného konfiguračního souboru do souboru App.config spustitelného souboru, který volá knihovnu tříd.
Poznámka:
Jako alternativu použijte nástroj ServiceModel Metadata Utility místo sady Visual Studio k vygenerování třídy proxy a konfiguračního souboru.
Klientská aplikace používá vygenerovanou třídu proxy ke komunikaci se službou. Tento postup je popsaný v kurzu: Použití klienta.
V tomto kurzu se naučíte:
- Vytvořte a nakonfigurujte projekt konzolové aplikace pro klienta WCF.
- Přidejte do služby WCF odkaz na službu, aby se vygenerovala třída proxy a konfigurační soubory.
Vytvoření klienta Windows Communication Foundation
Vytvoření projektu konzolové aplikace v sadě Visual Studio:
V nabídce Soubor vyberte Otevřít>projekt nebo řešení a přejděte k dříve vytvořenému řešení GettingStarted (GettingStarted.sln). Vyberte Otevřít.
V nabídce Zobrazení vyberte Průzkumník řešení.
V okně Průzkumník řešení vyberte řešení GettingStarted (horní uzel) a pak v místní nabídce vyberte Přidat>nový projekt.
V okně Přidat nový projekt na levé straně vyberte kategorii Plocha Systému Windows v části Visual C# nebo Visual Basic.
Vyberte šablonu konzolové aplikace (.NET Framework) a jako název zadejte GettingStartedClient. Vyberte OK.
Do sestavení přidejte odkaz v projektu System.ServiceModel GettingStartedClient:
V okně Průzkumník řešení vyberte složku Reference v projektu GettingStartedClient a pak v místní nabídce vyberte Přidat odkaz.
V okně Přidat odkaz v části Sestavení na levé straně okna vyberte Framework.
Vyhledejte a vyberte System.ServiceModel a pak zvolte OK.
Řešení uložte výběrem možnosti Uložit>vše.
Přidejte odkaz na službu kalkulačky:
V okně Průzkumník řešení vyberte složku Reference v projektu GettingStartedClient a pak v místní nabídce vyberte Přidat odkaz na službu.
V okně Přidat odkaz na službu vyberte Zjistit.
Spustí se služba CalculatorService a Sada Visual Studio ji zobrazí v poli Služby .
Výběrem možnosti CalculatorService ji rozbalíte a zobrazíte kontrakty služeb implementované službou. Ponechte výchozí obor názvů a zvolte OK.
Visual Studio přidá novou položku do složky Připojení ed Services v projektu GettingStartedClient.
Nástroj ServiceModel Metadata Utility
Následující příklady ukazují, jak volitelně použít nástroj ServiceModel Metadata Utility (Svcutil.exe) k vygenerování souboru třídy proxy. Tento nástroj vygeneruje soubor třídy proxy a soubor App.config . Následující příklady ukazují, jak vygenerovat proxy server v jazyce C# a Visual Basic:
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService
Konfigurační soubor klienta
Po vytvoření klienta vytvoří Visual Studio konfigurační soubor App.config v projektu GettingStartedClient , který by se měl podobat následujícímu příkladu:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<!-- specifies the version of WCF to use-->
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<system.serviceModel>
<bindings>
<!-- Uses wsHttpBinding-->
<wsHttpBinding>
<binding name="WSHttpBinding_ICalculator" />
</wsHttpBinding>
</bindings>
<client>
<!-- specifies the endpoint to use when calling the service -->
<endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
<V části system.serviceModel> si všimněte elementu koncového <bodu>. Element <koncového bodu> definuje koncový bod, který klient používá pro přístup ke službě následujícím způsobem:
- Adresa:
http://localhost:8000/GettingStarted/CalculatorService
. Adresa koncového bodu. - Servisní smlouva:
ServiceReference1.ICalculator
. Kontrakt služby zpracovává komunikaci mezi klientem WCF a službou. Visual Studio vygeneroval tento kontrakt, když jste použili funkci Přidat odkaz na službu. Jedná se v podstatě o kopii kontraktu, kterou jste definovali v projektu GettingStartedLib. - Vazba: WSHttpBinding. Vazba určuje protokol HTTP jako přenos, interoperabilní zabezpečení a další podrobnosti konfigurace.
Další kroky
V tomto kurzu jste se naučili, jak:
- Vytvořte a nakonfigurujte projekt konzolové aplikace pro klienta WCF.
- Přidejte odkaz na službu WCF, která vygeneruje třídu proxy a konfigurační soubory pro klientskou aplikaci.
V dalším kurzu se dozvíte, jak používat vygenerovaného klienta.