Руководство. Использование клиента Windows Communication Foundation
В этом руководстве описаны последние пять задач, необходимых для создания базового приложения Windows Communication Foundation (WCF). Общие сведения о руководствах см. в руководстве по началу работы с приложениями Windows Communication Foundation.
После создания и настройки прокси-сервера Windows Communication Foundation (WCF) необходимо создать экземпляр клиента и скомпилировать клиентское приложение. Затем вы используете его для взаимодействия со службой WCF.
В этом руководстве описано следующее:
- Добавьте код для использования клиента WCF.
- Проверьте клиент WCF.
Добавление кода для использования клиента WCF
Клиентский код выполняет следующие действия:
- Создает экземпляр клиента WCF.
- Вызывает операции службы из созданной учетной записи-посредника.
- Закрывает клиент после завершения вызова операции.
Откройте файл Program.cs или Module1.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: Close the client to gracefully close the connection and clean up resources.
Console.WriteLine("\nPress <Enter> to terminate the client.");
Console.ReadLine();
client.Close();
}
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel
Imports GettingStartedClient.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: Close the client to gracefully close the connection and clean up resources.
Console.WriteLine()
Console.WriteLine("Press <Enter> to terminate the client.")
Console.ReadLine()
Client.Close()
End Sub
End Module
Обратите внимание на инструкцию using
(для Visual C#) или Imports
(для Visual Basic), импортируемую GettingStartedClient.ServiceReference1
. Эта инструкция импортирует код, созданный Visual Studio с помощью функции Add Service Reference . Код создает экземпляр прокси-сервера WCF и вызывает каждую из операций службы, предоставляемых службой калькулятора. Затем он закрывает прокси-сервер и заканчивает программу.
Тестирование клиента WCF
Тестирование приложения из Visual Studio
Сохраните решение и выполните его построение.
Выберите папку GettingStartedClient , а затем выберите "Задать в качестве запускаемого проекта " в контекстном меню.
В списке "Запускаемые проекты" выберите Элемент GettingStartedClient в раскрывающемся списке, а затем нажмите кнопку "Выполнить " или нажать клавишу F5.
Тестирование приложения из командной строки
Откройте командную строку от имени администратора и перейдите в каталог решения Visual Studio.
Чтобы запустить службу, введите GetStartedHost\bin\Debug\GettingStartedHost.exe.
Чтобы запустить клиент: откройте другую командную строку, перейдите в каталог решения Visual Studio, а затем введите GetStartedClient\bin\Debug\GettingStartedClient.exe.
GettingStartedHost.exe выдает следующие выходные данные:
The service is ready. Press <Enter> to terminate the service. Received Add(100,15.99) Return: 115.99 Received Subtract(145,76.54) Return: 68.46 Received Multiply(9,81.25) Return: 731.25 Received Divide(22,7) Return: 3.14285714285714
GettingStartedClient.exe выдает следующие выходные данные:
Add(100,15.99) = 115.99 Subtract(145,76.54) = 68.46 Multiply(9,81.25) = 731.25 Divide(22,7) = 3.14285714285714 Press <Enter> to terminate the client.
Следующие шаги
Теперь вы выполнили все задачи в руководстве по началу работы WCF. Из этого руководства вы узнали, как:
В этом руководстве описано следующее:
- Добавьте код для использования клиента WCF.
- Проверьте клиент WCF.
Если у вас возникли проблемы или ошибки в любом из шагов, выполните действия, описанные в статье по устранению неполадок.