Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ПСП] Учебник WCF.docx
Скачиваний:
48
Добавлен:
26.03.2016
Размер:
147.76 Кб
Скачать

Как использовать клиент Windows Communication Foundation

Это последнее из 6 заданий, необходимых для создания основного приложения Windows Communication Foundation (WCF)приложения. После создания и настройки прокси Windows Communication Foundation (WCF) можно создать экземпляр клиента, скомпилировать клиентское приложение и использовать его для взаимодействия со службой WCF. В этом разделе описаны процедуры создания и использования клиента WCF. Эта процедура выполняет три операции.

  1. Создается клиент WCF.

  2. Вызывает операции службы из созданной учетной записи-посредника.

  3. Закрывает клиент после завершения вызова операции.

Использование клиента Windows Communication Foundation

Откройте файл Program.cs или Program.vb из проекта GettingStartedClient и замените существующий код в файлах на следующий код:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using GettingStartedClient.ServiceReference1;

namespace GettingStartedClient

{

class Program

{

static void Main(string[] args)

{

//Step 1: Create an instance of the WCF proxy.

CalculatorClient client = new CalculatorClient();

// Step 2: Call the service operations.

// Call the Add service operation.

double value1 = 100.00D;

double value2 = 15.99D;

double result = client.Add(value1, value2);

Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

// Call the Subtract service operation.

value1 = 145.00D;

value2 = 76.54D;

result = client.Subtract(value1, value2);

Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

// Call the Multiply service operation.

value1 = 9.00D;

value2 = 81.25D;

result = client.Multiply(value1, value2);

Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

// Call the Divide service operation.

value1 = 22.00D;

value2 = 7.00D;

result = client.Divide(value1, value2);

Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

//Step 3: Closing the client gracefully closes the connection and cleans up resources.

client.Close();

}

}

}

Imports System

Imports System.Collections.Generic

Imports System.Text

Imports System.ServiceModel

Imports GettingStartedClientVB2.ServiceReference1

Module Module1

Sub Main()

' Step 1: Create an instance of the WCF proxy

Dim Client As New CalculatorClient()

'Step 2: Call the service operations.

'Call the Add service operation.

Dim value1 As Double = 100D

Dim value2 As Double = 15.99D

Dim result As Double = Client.Add(value1, value2)

Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result)

'Call the Subtract service operation.

value1 = 145D

value2 = 76.54D

result = Client.Subtract(value1, value2)

Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result)

'Call the Multiply service operation.

value1 = 9D

value2 = 81.25D

result = Client.Multiply(value1, value2)

Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result)

'Call the Divide service operation.

value1 = 22D

value2 = 7D

result = Client.Divide(value1, value2)

Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result)

' Step 3: Closing the client gracefully closes the connection and cleans up resources.

Client.Close()

Console.WriteLine()

Console.WriteLine("Press <ENTER> to terminate client.")

Console.ReadLine()

End Sub

End Module

Обратите внимание на команду «использовать» или «импортировать», которая импортирует GettingStartedClient.ServiceReference1.Она импортирует код, созданный функцией «Добавить ссылки на службу» средства Visual Studio.Код создает WCF-прокси и затем вызывает каждую операцию службы, предоставленную службой калькулятора, закрывает прокси и завершает работу.

Сейчас вы завершили работу с учебником. Вы задали контракт службы, внедрили контракт службы, создали WCF-прокси, настроили клиентское приложение WCF и затем использовали прокси для вызова операций службы. Чтобы проверить приложение, сначала запустите GettingStartedHost для запуска службы, а затем запустите сам клиент GettingStartedClient. Вывод из GettingStartedHost должен выглядеть следующим образом:

Служба запущена. Нажмите клавишу <ВВОД>, чтобы завершить работу службы. Получено Add(100,15.99)Возвращено: 115.99Получено Subtract(145,76,54)Возвращено: 68,46. Получено Multiply(9,81,25)Return: 731,25Получено Divide(22,7)Возвращено: 3,14285714285714

Вывод GettingStartedClient должен выглядеть следующим образом:

Add(100,15.99) = 115.99Subtract(145,76.54) = 68.46Multiply(9,81.25) = 731.25Divide(22,7) = 3.14285714285714Нажмите клавишу <ВВОД>, чтобы закрыть клиент.