Udostępnij za pośrednictwem


Klient z typowaniem

W przykładzie TypedClient pokazano, jak uzyskać informacje od typizowanego klienta wygenerowanego przez narzędzie ServiceModel Metadata Tool (Svcutil.exe). Ten przykład jest oparty na wprowadzenie , który implementuje usługę kalkulatora. W tym przykładzie klient jest aplikacją konsolową (.exe), a usługa jest hostowana przez usługi Internet Information Services (IIS).

Uwaga

Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.

Właściwość klienta Endpoint umożliwia dostęp do informacji o punkcie końcowym usługi, z którymi komunikuje się klient, w tym informacje o adresie, powiązaniu i umowie. Właściwość klienta InnerChannel jest wystąpieniem IClientChannel , które umożliwia dostęp do informacji o kanale bazowym, takich jak jego stan i identyfikator sesji.

// Create a client.
CalculatorClient client = new CalculatorClient();
...
Console.WriteLine("Client - endpoint:  " + client.Endpoint.Address);
Console.WriteLine("Client - binding:  " + client.Endpoint.Binding.Name);
Console.WriteLine("Client - contract: " + client.Endpoint.Contract.Name);

IClientChannel channel = client.InnerChannel;
Console.WriteLine("Client channel - state: " + channel.State);
Console.WriteLine("Client channel - session identifier: " + channel.SessionId);

//Closing the client gracefully closes the connection and cleans up resources.
client.Close();

Po uruchomieniu przykładu żądania operacji i odpowiedzi są wyświetlane w oknie konsoli klienta. Naciśnij klawisz ENTER w oknie klienta, aby zamknąć klienta.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Client - endpoint:  http://localhost/servicemodelsamples/service.svc
Client - binding:  WSHttpBinding
Client - contract: ICalculator
Client channel - state: Opened
Client channel - session identifier: urn:uuid:ae16fbc4-2964-4e87-9fb1-c5aa78fc567e

Press <ENTER> to terminate client.

Aby skonfigurować, skompilować i uruchomić przykład

  1. Upewnij się, że wykonano procedurę instalacji jednorazowej dla przykładów programu Windows Communication Foundation.

  2. Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).

  3. Aby uruchomić przykład w konfiguracji pojedynczej lub między maszynami, postępuj zgodnie z instrukcjami w temacie Uruchamianie przykładów programu Windows Communication Foundation.