Dela via


Självstudie: Skapa en Windows Communication Foundation-klient

I den här självstudien beskrivs den fjärde av fem uppgifter som krävs för att skapa ett grundläggande WCF-program (Windows Communication Foundation). En översikt över självstudierna finns i Självstudie: Kom igång med Windows Communication Foundation-program.

Nästa uppgift för att skapa ett WCF-program är att skapa en klient genom att hämta metadata från en WCF-tjänst. Du använder Visual Studio för att lägga till en tjänstreferens som hämtar metadata från tjänstens MEX-slutpunkt. Visual Studio genererar sedan en hanterad källkodsfil för en klientproxy på det språk som du har valt. Den skapar också en klientkonfigurationsfil (App.config). Med den här filen kan klientprogrammet ansluta till tjänsten vid en slutpunkt.

Kommentar

Om du anropar en WCF-tjänst från ett klassbiblioteksprojekt i Visual Studio använder du funktionen Lägg till tjänstreferens för att automatiskt generera en proxyfil och en associerad konfigurationsfil. Men eftersom klassbiblioteksprojekt inte använder den här konfigurationsfilen måste du lägga till inställningarna i den genererade konfigurationsfilen i App.config-filen för den körbara fil som anropar klassbiblioteket.

Kommentar

Alternativt kan du använda verktyget ServiceModel Metadata Utility i stället för Visual Studio för att generera proxyklassen och konfigurationsfilen.

Klientprogrammet använder den genererade proxyklassen för att kommunicera med tjänsten. Den här proceduren beskrivs i Självstudie: Använd en klient.

I den här självstudien lär du dig att:

  • Skapa och konfigurera ett konsolappprojekt för WCF-klienten.
  • Lägg till en tjänstreferens till WCF-tjänsten för att generera proxyklassen och konfigurationsfilerna.

Skapa en Windows Communication Foundation-klient

  1. Skapa ett konsolappprojekt i Visual Studio:

    1. På menyn Arkiv väljer du Öppna>projekt/lösning och bläddrar till lösningen GettingStarted som du skapade tidigare (GettingStarted.sln). Välj Öppna.

    2. På menyn Visa väljer du Solution Explorer.

    3. I fönstret Solution Explorer väljer du lösningen GettingStarted (översta noden) och väljer sedan Lägg till>nytt projekt på snabbmenyn.

    4. I fönstret Lägg till nytt projekt till vänster väljer du kategorin Windows Desktop under Visual C# eller Visual Basic.

    5. Välj mallen Konsolapp (.NET Framework) och ange GettingStartedClient som Namn. Välj OK.

  2. Lägg till en referens i projektet GettingStartedClient i System.ServiceModel sammansättningen:

    1. I fönstret Solution Explorer väljer du mappen Referenser under projektet GettingStartedClient och väljer sedan Lägg till referens på snabbmenyn.

    2. I fönstret Lägg till referens går du till Sammansättningar till vänster i fönstret och väljer Ramverk.

    3. Leta upp och välj System.ServiceModel och välj sedan OK.

    4. Spara lösningen genom att välja Spara>alla.

  3. Lägg till en tjänstreferens till kalkylatortjänsten:

    1. I fönstret Solution Explorer väljer du mappen Referenser under projektet GettingStartedClient och väljer sedan Lägg till tjänstreferens på snabbmenyn.

    2. I fönstret Lägg till tjänstreferens väljer du Identifiera.

      CalculatorService-tjänsten startar och Visual Studio visar den i rutan Tjänster .

    3. Välj CalculatorService för att expandera den och visa tjänstkontrakten som implementerats av tjänsten. Lämna standardnamnområdet och välj OK.

      Visual Studio lägger till ett nytt objekt under mappen Anslut ed Services i projektet GettingStartedClient.

Verktyg för ServiceModel-metadata

I följande exempel visas hur du kan använda verktyget ServiceModel Metadata Utility (Svcutil.exe) för att generera proxyklassfilen. Det här verktyget genererar proxyklassfilen och App.config-filen . I följande exempel visas hur du genererar proxyn i C# respektive 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

Klientkonfigurationsfil

När du har skapat klienten skapar Visual Studio konfigurationsfilen App.config i projektet GettingStartedClient , vilket bör likna följande exempel:

    <?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>

Observera slutpunktselementet> under< avsnittet< system.serviceModel.> Slutpunktselementet ><definierar slutpunkten som klienten använder för att komma åt tjänsten på följande sätt:

  • Adress: http://localhost:8000/GettingStarted/CalculatorService. Slutpunktens adress.
  • Tjänstkontrakt: ServiceReference1.ICalculator. Tjänstkontraktet hanterar kommunikationen mellan WCF-klienten och tjänsten. Visual Studio genererade det här kontraktet när du använde funktionen Lägg till tjänstreferens . Det är i princip en kopia av kontraktet som du definierade i Projektet GettingStartedLib.
  • Bindning: WSHttpBinding. Bindningen anger HTTP som transport, driftskompatibel säkerhet och annan konfigurationsinformation.

Nästa steg

I den här självstudiekursen lärde du dig att:

  • Skapa och konfigurera ett konsolappprojekt för WCF-klienten.
  • Lägg till en tjänstreferens till WCF-tjänsten för att generera proxyklassen och konfigurationsfilerna för klientprogrammet.

Gå vidare till nästa självstudie för att lära dig hur du använder den genererade klienten.