SlideShare a Scribd company logo
Венжик Игорь
Что такое SOA
Архитектура WCF
WSDL XSD SOAP
Контракты (Contracts)
Привязки (Bindings)
Поведение (Behaviors)
Хостинг (Hosting)

Безопасность
Расширяемость WCF
SOAP vs REST
Маршрутизация. Масштабируемость. Отказоустойчивость
Что такое SOA
Архитектура WCF
Первый WCF сервис
Слабое связывание (Loose coupling)
Предсказуемость (Formal contract)
Абстрагирование от реализации
(Abstraction)
Автономность (Autonomy)
Повторное использование (Reusability)
Принцип композиции (Composability)
Открытость (Discoverability)
Сервис2
(*)

Клиент
a+b
a+b*c
a/b

Сервис
(+)

Сервис3
(/)
Четкие границы
Пересечение границ – четко определено
Пересечение границ стоит ресурсов

Сервисы самостоятельны
Мы должны понимать что используемый нами сервис будет
развиваться и у нас нет контроля над этим
Сервисы управляются и разрабатываются независимо
Сервис, который мы используем может быт недоступен!

Сервисы предоставляют схему и контракт, но не код
Сервисы взаимодействуют по контрактам, которые не
меняются.
Сервисы предоставляют только контракт, реализация может
меняться и недолжна нас беспокоить
ASMX

Binary .NET-.NET
Communication

.NET Remoting

Distributed
Transactions

Enterprise Services

WS-* Specifications

Web Services
Enhancements

Queued Messaging

System.Messaging

RESTful
Communication

System.Net

Windows Communication
Foundation

Interoperable Web
Services
Конечная точка

Клиент

C

Сервис

(Endpoint)

B

A

Адрес
(Где)

Сообщение

A

B C

Привязки Контракт
(Как)

(Что)
Клиент

Сервис
A

C

B

A

Адрес
(Где)

Сообщение

B

C

A

B

C

Привязки Контракт
(Как)

(Что)
Клиент

Сервис
A

Bv

C

B

A

Сообщение

B

C

Bv

A

B

C

Bv
Metadata

Клиент

Сервис
A

Bv

C

B

A

Сообщение

B

C

Bv

A

B

C

Bv
Metadata

Клиент

Сервис
A

Bv
Bv

C

B

A

Сообщение

Proxy

B

C

Bv

A

B

C

Bv

ServiceHost<T>()

Hosting Environments
WAS

IIS

.exe

Windows
Service

DllHost
Binding (Как?)

Contract (Что?)

Просторы интернетаAddress

(Где?)
WSDL XSD SOAP
Контракты (Contracts)
Привязки (Bindings)
Поведение (Behaviors)
Хостинг (Hosting)
WSDL – это язык описания веб-сервисов,
основанный на языке XML
WSDL документ состоит из трех логических
частей
Определения типов данных – отправляемые и
получаемые сервисом XML сообщений
(DataContract)
Операции сервиса – список операций, которые
может предоставить сервис (ServiceContract)
Связывание сервисов – способ общения с
сервисом (Binding)
http://w3.org/TR/wsdl
Конверт
Заголовок
Action
To
From
Reply-To, Error

Тело

SOAP: Envelope

SOAP: Header
SOAP: Body
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<MessageID>1A01E8FE1C4F4451BFA9B6B13DF647FA</MessageID>
<Action>http://tscrm.com/GetStockPrice</Action>
</soap:Header>
<soap:Body>
<m:GetStockPrice xmlns:m="...">
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<GetStockPriceResponse xmlns="http://tempuri.org/">
<GetStockPriceResult>10 000</GetStockPriceResult>
</GetStockPriceResponse>
</soap:Body>
</soap:Envelope>
Service
Data
Message

• Описывает операции,
выполняемые сервисом
• CLR тип соответствует WSDL

• Структура данных
• CLR тип соответствует XSD

• Структура сообщений
• CLR тип соответствует SOAP
сообщению
[ServiceContract]
public interface ICalculator
{
[OperationContract]
ComplexProblem SolveProblem (ComplexProblem p);
}
SessionMode
NotAllowed
Allowed (default)
Required

Name & Namespace
ProtectionLevel
None
Sign
EncryptAndSign

CallbackContract
[ServiceContract(CallbackContract=
typeof(ICalculatorResults)]
public interface ICalculatorProblems {
[OperationContract(IsOneWay=true)]
void SolveProblem (ComplexProblem p);
}
public interface ICalculatorResults {
[OperationContract(IsOneWay=true)]
void Results(ComplexProblem p);
}
IsOneWay
IsInitiating & IsTerminating
Name
AsyncPattern
Action
ReplyAction
ProtectionLevel & HasProtectionLevel
Дуплексная связь
[DataContract]
public class Player {
[DataMember]
public string Name = “Anonymous”;
[DataMember]
public int Age { get; set; }
}
[CollectionDataContract(Name = “Players",
ItemName = “Player"))]
public class Team : List<Player> {
[DataMember]
public string Name { get; private set; }
}
[MessageContract]
public class ComplexProblem
{
[MessageHeader]
public string operation;
[MessageBody]
public ComplexNumber n1;
[MessageBody]
public ComplexNumber n2;
[MessageBody]
public ComplexNumber solution;
// Constructors…
}
Контракт данных
[ServiceContract]
Методы сервиса отмечаем атрибутом [OperationContract]
На уровне контракта сервиса можно затребовать поддержку
сессий (SessionMode)
Можем указать каким методом начитать взаимодействие с
сервисом (IsInitiating) и указать каким методом разрывать
соединение (IsTerminating)

[DataContract] или [CollectionDataContract]
Помним что контракты данных подчиняться общим правилам
сериализации. В контракте не может быть циклических ссылок
У всех свойств отмеченных атрибутом [DataMember] должны
присутствовать оба аксессора get и set
Если присутствие одного из аксессоров get или set
противоречит бизнес логике, его можно сделать приватным

[MessageContract]
Если метод сервиса принимает контракт сообщения, у него не
может быть дополнительных параметров
Привязки — объекты, используемые для задания
сведений о связи, необходимых для подключения к
конечной точке сервиса

Транспорт – определяет транспортный протокол
обмена сообщениями (Http, Tcp, …)
Кодирование – определяет используемый тип
кодирования сообщений
Текст (xml, json, …)
Бинарный

Другие протоколы
Безопасность
Гарантированная доставка сообщения
Поддержка транзакций
Транспорт Кодировка

Security

Reliability

Протокол

WS-*

WS-*

WS-*

HTTP
TCP

Binary
Text

HTTP

Text

TCP

Binary

WS-*

WS-*

WS-*

Pipes

MTOM

Custom

Custom

Custom

MSMQ

Custom

Custom
NP = Named Pipes
T = Transport Security
S = WS-Security
O = One-Way Only

BasicHttpBinding

Http

BP

WsHttpBinding

Http

WS TS

WsDualHttpBinding

Http

WS TS

NetTcpBinding

Tcp

TS

O

NetNamedPipesBinding NP

TS

O

NetMsmqBinding

TS

NetPeerTcpBinding

MSMQ
P2P

T

TS
<?xml version="1.0" encoding="utf-8" ?>
<configuration">
<system.serviceModel>
<services>
<service type="CalculatorService">
<endpoint address=“http://localhost/calculator"
binding="basicHttpBinding"
contractType="ICalculator" />
</service>
</services>
</system.serviceModel>
</configuration>
<endpoint address=“http://localhost/calculator"
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contractType="ICalculator" />
<bindings>
<basicHttpBinding>
<binding name="Binding1“ messageEncoding="Text"
textEncoding="utf-8" transferMode="Buffered">
<security mode="Message">
<transport clientCredentialType="None"/>
<message clientCredentialType="UserName“ />
</security>
</binding>
</basicHttpBinding>
</bindings>
<endpoint address=“http://localhost/calculator"
binding="basicHttpBinding"
bindingConfiguration=""
contractType="ICalculator" />
<bindings>
<basicHttpBinding>
<binding name=""
maxReceivedMessageSize="9999999">
<readerQuotas maxArrayLength="9999999"/>
</binding>
</basicHttpBinding>
</bindings>
<protocolMapping>
<add scheme="http" binding="basicHttpBinding"/>
<add scheme="net.tcp" binding="netTcpBinding"/>
<add scheme="net.pipe" binding="netNamedPipeBinding"/>
<add scheme="net.msmq" binding="netMsmqBinding"/>
</protocolMapping>
<protocolMapping>
<add scheme="http" binding="basicHttpBinding"/>
<add scheme="net.tcp" binding="netTcpBinding"/>
</protocolMapping>
<protocolMapping>
<clear scheme="http" />
<add scheme="http" binding="customBinding"
bindingConfiguration="binaryHttp" />
</protocolMapping>
<bindings>
<customBinding>
<binding name="binaryHttp">
<binaryMessageEncoding/>
<httpTransport/>
</binding>
</customBinding>
</bindings>
Поведение сервиса может быть настроено как в
коде сервиса так и в конфигурационном файле
Атрибутом ServiceBehavior может быть отмечен
только класс, который инкапсулирует в себе весь
функционал сервиса

Основные параметры
AddressFilterMode
AutomaticSessionShutdown
ReleaseServiceInstanceOnTransactionComplete
TransactionIsolationLevel
IncludeExceptionDetailInFaults
Service
PerSession
Single

Single
Multiple

InstanceContextMode

ConcurrencyMode

PerSession

Single

PerCall

Reentrant

Single

Multiple
Поведение операций может задаваться только
в коде
Атрибутом может быть отмечен только метод
конкретного класса реализующего контракт
Основные параметры
Impersonation (олицетворение)
TransactionAutoComplete
TransactionScopeRequired
ReleaseInstanceMode
None
BeforeCall
AfterCall
BeforeAndAfterCall
[ServiceBehavior(
InstanceContextMode =
InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Multiple)]
public class Service : IService {
[OperationBehavior(
ReleaseInstanceMode =
ReleaseInstanceMode.AfterCall)]
public DateTime GetCurrentDate() {
return DateTime.Now;
}
Self-hosting
Console Application
WinForm Application
WPF Application

Internet Information Services (IIS)
Separate (Statealone)
ASP Application

Windows Service
Http
Console App
WinForm App
WPF App
Windows Service
Web server IIS6
Web server IIS7

Tcp

Named Pipes MSMQ P2P
Вопросы?
Пожелания?

More Related Content

Viewers also liked

Wcf Part 2
Wcf Part 2Wcf Part 2
Wcf Part 2
Igor Venzhyk
 
G управление лидами
G управление лидамиG управление лидами
G управление лидамиAndrey Dovgan
 
Слава Панкратов - Личная эффективность для менеджеров проектов
Слава Панкратов - Личная эффективность для менеджеров проектовСлава Панкратов - Личная эффективность для менеджеров проектов
Слава Панкратов - Личная эффективность для менеджеров проектов
Luxoft Education Center
 
Bp monline boostsalesperfomance
Bp monline boostsalesperfomanceBp monline boostsalesperfomance
Bp monline boostsalesperfomance
Andrey Dovgan
 
Sales Acceleration
Sales Acceleration Sales Acceleration
Sales Acceleration
Andrey Dovgan
 
BPMonline CRM v 7.0
BPMonline CRM v 7.0 BPMonline CRM v 7.0
BPMonline CRM v 7.0
Andrey Dovgan
 
Bp monline on mobile
Bp monline on mobileBp monline on mobile
Bp monline on mobile
Andrey Dovgan
 
Как разработать и внедрить бизнес-процесс продаж
Как разработать и внедрить бизнес-процесс продажКак разработать и внедрить бизнес-процесс продаж
Как разработать и внедрить бизнес-процесс продаж
Andrey Dovgan
 
bpmonline crm basic
bpmonline crm basic bpmonline crm basic
bpmonline crm basic
Andrey Dovgan
 
SPM Conf 2012 Part II
SPM Conf 2012 Part IISPM Conf 2012 Part II
SPM Conf 2012 Part II
Maxim Dorofeev
 
Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...
Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...
Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...Luxoft Education Center
 
Crm
CrmCrm
CodeFest 2013 Maxim Dorofeev Part II
CodeFest 2013 Maxim Dorofeev Part IICodeFest 2013 Maxim Dorofeev Part II
CodeFest 2013 Maxim Dorofeev Part II
Maxim Dorofeev
 
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTD
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTDМаксим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTD
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTD
Luxoft Education Center
 
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...
Luxoft Education Center
 
Making CRM Implementation Successful
Making CRM Implementation SuccessfulMaking CRM Implementation Successful
Making CRM Implementation Successful
Andrey Dovgan
 
Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...
Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...
Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...
Luxoft Education Center
 
Terrasoft примеры увеличения прибыли
Terrasoft примеры увеличения прибылиTerrasoft примеры увеличения прибыли
Terrasoft примеры увеличения прибыли
Andrey Dovgan
 

Viewers also liked (20)

Wcf Part 2
Wcf Part 2Wcf Part 2
Wcf Part 2
 
BPMonline OData
BPMonline ODataBPMonline OData
BPMonline OData
 
G управление лидами
G управление лидамиG управление лидами
G управление лидами
 
Слава Панкратов - Личная эффективность для менеджеров проектов
Слава Панкратов - Личная эффективность для менеджеров проектовСлава Панкратов - Личная эффективность для менеджеров проектов
Слава Панкратов - Личная эффективность для менеджеров проектов
 
Bp monline boostsalesperfomance
Bp monline boostsalesperfomanceBp monline boostsalesperfomance
Bp monline boostsalesperfomance
 
Sales Acceleration
Sales Acceleration Sales Acceleration
Sales Acceleration
 
Axiline
AxilineAxiline
Axiline
 
BPMonline CRM v 7.0
BPMonline CRM v 7.0 BPMonline CRM v 7.0
BPMonline CRM v 7.0
 
Bp monline on mobile
Bp monline on mobileBp monline on mobile
Bp monline on mobile
 
Как разработать и внедрить бизнес-процесс продаж
Как разработать и внедрить бизнес-процесс продажКак разработать и внедрить бизнес-процесс продаж
Как разработать и внедрить бизнес-процесс продаж
 
bpmonline crm basic
bpmonline crm basic bpmonline crm basic
bpmonline crm basic
 
SPM Conf 2012 Part II
SPM Conf 2012 Part IISPM Conf 2012 Part II
SPM Conf 2012 Part II
 
Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...
Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...
Дмитрий Башакин: "Командообразование для тим лидов" (3-часовая версия курса T...
 
Crm
CrmCrm
Crm
 
CodeFest 2013 Maxim Dorofeev Part II
CodeFest 2013 Maxim Dorofeev Part IICodeFest 2013 Maxim Dorofeev Part II
CodeFest 2013 Maxim Dorofeev Part II
 
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTD
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTDМаксим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTD
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про GTD
 
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...
Максим Дорофеев, выступление на DEV Labs 2010 в Киеве про цифры и прогнозы в ...
 
Making CRM Implementation Successful
Making CRM Implementation SuccessfulMaking CRM Implementation Successful
Making CRM Implementation Successful
 
Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...
Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...
Александр Орлов, выступление на DEV Labs 2010 в Киеве про ожидания менеджеров...
 
Terrasoft примеры увеличения прибыли
Terrasoft примеры увеличения прибылиTerrasoft примеры увеличения прибыли
Terrasoft примеры увеличения прибыли
 

Similar to WCF Part 1

Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” 
Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” 
Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” 
Dakiry
 
Миграция в Azure Service Fabric
Миграция в Azure Service FabricМиграция в Azure Service Fabric
Миграция в Azure Service Fabric
Alexander Laysha
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation
KewpaN
 
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ITMO University
 
стэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризмстэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризм
Sergei Seleznev
 
ITSM форум России. Облачные вычисления. Проблемы работы с SLA
ITSM форум России. Облачные вычисления. Проблемы работы с SLAITSM форум России. Облачные вычисления. Проблемы работы с SLA
ITSM форум России. Облачные вычисления. Проблемы работы с SLA
Michael Kozloff
 
Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCF
Pavel Tsukanov
 
Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3
Timur Shemsedinov
 
Обзор функционала IM and Presence в Cisco Collaboration 9.x
 Обзор функционала IM and Presence в Cisco Collaboration 9.x  Обзор функционала IM and Presence в Cisco Collaboration 9.x
Обзор функционала IM and Presence в Cisco Collaboration 9.x Cisco Russia
 
C# Web. Занятие 03.
C# Web. Занятие 03.C# Web. Занятие 03.
C# Web. Занятие 03.
Igor Shkulipa
 
MSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on ArchitectureMSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on Architecture
Sergey Baranov
 
SAS (SafeNet Authentication Service)
SAS (SafeNet Authentication Service)SAS (SafeNet Authentication Service)
SAS (SafeNet Authentication Service)
Daria Kovalenko
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Облачные услуги ActiveCloud. Вопросы к SLA
Облачные услуги ActiveCloud. Вопросы к SLAОблачные услуги ActiveCloud. Вопросы к SLA
Облачные услуги ActiveCloud. Вопросы к SLA
ActiveCloud
 
HighLoad Junior '16 Как сравнить и выбрать хостинг-провайдера
HighLoad Junior '16 Как сравнить и выбрать хостинг-провайдераHighLoad Junior '16 Как сравнить и выбрать хостинг-провайдера
HighLoad Junior '16 Как сравнить и выбрать хостинг-провайдера
Игорь Мызгин
 
Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...
Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...
Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...
Ontico
 
Step Logic Managed Services from CiscoExpo-2010
Step Logic Managed Services from CiscoExpo-2010Step Logic Managed Services from CiscoExpo-2010
Step Logic Managed Services from CiscoExpo-2010ifedorus
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Cisco Russia
 
Решения ЭОС по модели SaaS
Решения ЭОС по модели SaaSРешения ЭОС по модели SaaS
Решения ЭОС по модели SaaSEOS-soft
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTime
IBM IBM
 

Similar to WCF Part 1 (20)

Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” 
Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” 
Олександр Хотемський “Обмазываемся контрактными тестами для микросервисов” 
 
Миграция в Azure Service Fabric
Миграция в Azure Service FabricМиграция в Azure Service Fabric
Миграция в Azure Service Fabric
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation
 
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
ПРОБЛЕМЫ ЭФФЕКТИВНОГО ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ СЕРВИСОВ
 
стэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризмстэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризм
 
ITSM форум России. Облачные вычисления. Проблемы работы с SLA
ITSM форум России. Облачные вычисления. Проблемы работы с SLAITSM форум России. Облачные вычисления. Проблемы работы с SLA
ITSM форум России. Облачные вычисления. Проблемы работы с SLA
 
Реализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCFРеализация REST и SOAP сервисов с помощью WCF
Реализация REST и SOAP сервисов с помощью WCF
 
Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3Node.js for enterprise 2021 - JavaScript Fwdays 3
Node.js for enterprise 2021 - JavaScript Fwdays 3
 
Обзор функционала IM and Presence в Cisco Collaboration 9.x
 Обзор функционала IM and Presence в Cisco Collaboration 9.x  Обзор функционала IM and Presence в Cisco Collaboration 9.x
Обзор функционала IM and Presence в Cisco Collaboration 9.x
 
C# Web. Занятие 03.
C# Web. Занятие 03.C# Web. Занятие 03.
C# Web. Занятие 03.
 
MSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on ArchitectureMSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on Architecture
 
SAS (SafeNet Authentication Service)
SAS (SafeNet Authentication Service)SAS (SafeNet Authentication Service)
SAS (SafeNet Authentication Service)
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Облачные услуги ActiveCloud. Вопросы к SLA
Облачные услуги ActiveCloud. Вопросы к SLAОблачные услуги ActiveCloud. Вопросы к SLA
Облачные услуги ActiveCloud. Вопросы к SLA
 
HighLoad Junior '16 Как сравнить и выбрать хостинг-провайдера
HighLoad Junior '16 Как сравнить и выбрать хостинг-провайдераHighLoad Junior '16 Как сравнить и выбрать хостинг-провайдера
HighLoad Junior '16 Как сравнить и выбрать хостинг-провайдера
 
Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...
Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...
Как сравнить и выбрать хостинг-провайдера или О чем умалчивают маркетологи / ...
 
Step Logic Managed Services from CiscoExpo-2010
Step Logic Managed Services from CiscoExpo-2010Step Logic Managed Services from CiscoExpo-2010
Step Logic Managed Services from CiscoExpo-2010
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
 
Решения ЭОС по модели SaaS
Решения ЭОС по модели SaaSРешения ЭОС по модели SaaS
Решения ЭОС по модели SaaS
 
IBM DataPower In SameTime
IBM DataPower In SameTimeIBM DataPower In SameTime
IBM DataPower In SameTime
 

WCF Part 1

Editor's Notes

  1. OneWay CallDuplex Contract
  2. DataContractCodeSnipet:Btn1: Service.ServiceClient client = new Service.ServiceClient();              dataGridView1.DataSource = client.GetTeamOfMyDream();Btn2: Service.ServiceClient client = new Service.ServiceClient();              dataGridView1.DataSource = client.MakeThemYounger((Service.BasketTeam)dataGridView1.DataSource);         
  3. В.NET 4 появилась возможность добавлять привязки по умолчанию, не указывая им имя.Теперь если мы в объявлении конечной точки не укажем имя конфигурации привязки, будет использоваться конфигурация полмолчанию для соответствующей привязки.В данном случае basicHttpBinding
  4. Также в 4й версии появилась возможность указывать привязку по умолчанию для конкретного протокола