Типизированный клиент
В примере TypedClient показано, как получить сведения от типизированного клиента, созданного средством служебной программы метаданных ServiceModel (Svcutil.exe). Этот пример основан на начале работы , который реализует службу калькулятора. В этом образце клиентом является консольное приложение (EXE), а служба размещается в службах IIS.
Примечание.
Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела.
Свойство Endpoint
клиента обеспечивает доступ к информации о конечной точке службы, с которой взаимодействует клиент - включая адрес, привязку и информацию о контракте. Свойство InnerChannel
клиента является экземпляром класса IClientChannel, который обеспечивает доступ к информации об используемом канале, такой как его состояние и идентификатор сеанса.
// 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();
При выполнении примера запросы и ответы операций отображаются в окне консоли клиента. Чтобы закрыть клиент, нажмите клавишу ВВОД в окне клиента.
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.
Настройка, сборка и выполнение образца
Убедитесь, что вы выполнили процедуру однократной установки для примеров Windows Communication Foundation.
Чтобы создать выпуск решения на языке C# или Visual Basic .NET, следуйте инструкциям в разделе Building the Windows Communication Foundation Samples.
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в разделе "Примеры Windows Communication Foundation".