Windows Communication Foundation/Хостинг WCF-сервиса на IIS: различия между версиями

Содержимое удалено Содержимое добавлено
→‎Клиент: Создал
Начал описание клиента
Строка 81:
==Клиент==
Для того, чтобы более полно протестировать созданный сервис создадим клиента, который будет использовать данный сервис.
 
Конфигурационный файл будет выглядеть следующим образом:
<source lang="xml"><?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint address ="http://localhost/Calculator/Service.svc"
binding ="wsHttpBinding"
contract="WCFCalculatorClientTest.ICalculator"/>
</client>
</system.serviceModel>
</configuration>
</source>
 
Класс посредника (прокси-класс):
<source lang="csharp">
using System.ServiceModel;
 
namespace WCFCalculatorClientTest
{
[ServiceContract]
public interface ICalculator
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
 
public class Calculator : ClientBase<ICalculator>, ICalculator
{
public double Add(double n1, double n2)
{
return Channel.Add(n1, n2);
}
 
public double Subtract(double n1, double n2)
{
return Channel.Subtract(n1, n2);
}
 
public double Multiply(double n1, double n2)
{
return Channel.Multiply(n1, n2);
}
 
public double Divide(double n1, double n2)
{
return Channel.Divide(n1, n2);
}
}
}
</source>
 
Код тестирования:
 
<source lang="csharp">
using System;
 
namespace WCFCalculatorClientTest
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Client started");
var n1 = ReadInt();
var n2 = ReadInt();
var calc = new Calculator();
Console.WriteLine("{0} + {1} = {2}", n1, n2, calc.Add(n1, n2));
Console.WriteLine("{0} - {1} = {2}", n1, n2, calc.Subtract(n1, n2));
Console.WriteLine("{0} * {1} = {2}", n1, n2, calc.Multiply(n1, n2));
Console.WriteLine("{0} / {1} = {2}", n1, n2, calc.Divide(n1,n2));
Console.ReadKey();
}
 
static int ReadInt()
{
var result = 0;
while (!int.TryParse(Console.ReadLine(), out result))
{
Console.WriteLine("Неверно введено число");
}
return result;
}
}
}
 
</source>
 
 
==Ссылки==