SlideShare a Scribd company logo
1 of 9
WCF
Module 2
В цьому модулі:
 Хостинг
 Конфігорування хоста
2
Andrey Gladky
KspDevelop@gmail.com
Клас ServiceHost
 Клас ServiceHost застосовується для конфігурації та
подання служби WCF з програми-хоста. Цей тип буде
використовуватися безпосередньо тільки при побудові
спеціальних збірок *.exe, призначених для хостингу
служб. Якщо ж для відкриття служби застосовується IIS,
то об'єкт ServiceHost створюється автоматично.
 Цей тип вимагає повного опису служби, яке
отримується динамічно через конфігураційні
налаштування файлу *.config хоста. Хоча це
відбувається автоматично при створенні об'єкта, можна
вручну налаштувати стан об'єкта ServiceHost за
допомогою ряду його властивостей і методів.
Andrey Gladky
KspDevelop@gmail.com 3
Член Опис
Authorization Ця властивість отримує рівень авторизації для розміщеної служби
AddDefaultEndpoints () Цей метод застосовується для програмного конфігурації хоста служби WCF,
щоб він використовував будь-яку кількість готових кінцевих точок, наданих
платформою
AddServiceEndpoint () Цей метод дозволяє програмно зареєструвати кінцеву точку для хоста
BaseAddresses Це властивість отримує список зареєстрованих базових адрес для поточної
служби
BeginOpen()
BeginClose()
Ці методи дозволяють асинхронно відкривати і закривати об'єкт ServiceHost,
використовуючи стандартний асинхронний синтаксис делегата .NET
CloseTimeout Це властивість дозволяє встановлювати і отримувати час, відведений службі
на закриття
Credentials Це властивість отримує посвідчення безпеки, використовувані поточної
службою
EndOpen()
EndClose()
Ці методи являють собою асинхронні аналоги BeginOpen () і Begin Close ()
OpenTimeout Це властивість дозволяє встановлювати і отримувати час, відведений службі
на запуск
State Це властивість отримує значення, яке вказує поточний стан об'єкта
комунікації, представлене перерахуванням
CommunicationState (наприклад, Opened, Closed, Created) 4
Клас ChannelFactory
 ChannelFactory дозволяє створити канал зв'язку для
служби без проксі-сервера. Який створює і управляє
різними типами каналів, які використовуються клієнтом
для відправки повідомлень з різними сконфігурованими
кінцевими точками обслуговування.
 Клас ChannelFactory корисний, коли ви хочете
розділити контракт DLL загальної служби між клієнтом
і сервером.
Andrey Gladky
KspDevelop@gmail.com 5
Andrey Gladky
KspDevelop@gmail.com 6
Демонстрація
Конфігурування хоста (app.config)
При побудові хоста для службового типу WCF необхідно
слідувати заздалегідь передбачуваному набору кроків,
частина з яких покладається на конфігурацію, а частина -
на код.
 Визначити кінцеву точку для служби WCF в файлі конфігурації
хоста.
 Програмно використовувати тип ServiceHost для відкриття
службових типів, доступних з цієї кінцевої точки.
 Забезпечити постійну роботу хоста для обслуговування вхідних
клієнтських запитів. Цей крок не обов'язковий, якщо для хостингу
застосовується служба Windows або IIS.
 У XML кінцева точка виражається елементом <endpoint> і його
атрибутами address, binding і contract.
Andrey Gladky
KspDevelop@gmail.com 7
Конфігурування хоста (app.config)
За допомогою вкладеного елемента <endpoint>
задається адреса, модель прив'язки (basicHttpBinding) і
повністю задане ім'я інтерфейсного типу, що визначає
контракт служби WCF (IEightBall). Оскільки
застосовується прив'язка на основі HTTP, вказується схема
http:// з довільним ідентифікатором порту.
Коли виконувальна програма стартує, створюється
екземпляр типу ServiceHost, якому повідомляється
служба WCF, що відповідає за хостинг. Під час виконання
цей об'єкт автоматично читає дані з контексту елемента
<system.serviceModel> файлу *.config хоста для
визначення правильної адреси, прив'язки і контракту, і
створює всі необхідні механізми.
Andrey Gladky
KspDevelop@gmail.com 8
Andrey Gladky
KspDevelop@gmail.com 9
Демонстрація

More Related Content

What's hot

Windows service
Windows serviceWindows service
Windows serviceeleksdev
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2eleksdev
 
Web service lecture
Web service lectureWeb service lecture
Web service lectureeleksdev
 
07 Database Access
07 Database Access07 Database Access
07 Database Accesseleksdev
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
Version control
Version controlVersion control
Version controleleksdev
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basicseleksdev
 

What's hot (10)

Rpc
RpcRpc
Rpc
 
Windows service
Windows serviceWindows service
Windows service
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
07 Database Access
07 Database Access07 Database Access
07 Database Access
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net
 
Version control
Version controlVersion control
Version control
 
DAL
DALDAL
DAL
 
Wcf module 3.6
Wcf module 3.6Wcf module 3.6
Wcf module 3.6
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
 

Similar to Wcf module 2

Aspnet core
Aspnet coreAspnet core
Aspnet coreeleksdev
 
System programing module 1
System programing module 1System programing module 1
System programing module 1Andrii Hladkyi
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxIhor34
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. ProcessesAndrii Hladkyi
 
System programing module 2
System programing module 2System programing module 2
System programing module 2Andrii Hladkyi
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro OverviewKiev ALT.NET
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_netRingonoki
 
Lec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняLec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняcit-cit
 
Continious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій ГалушкаContinious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій ГалушкаHRdepartment
 
What's new in Visual Studio 2010.
What's new in Visual Studio 2010.What's new in Visual Studio 2010.
What's new in Visual Studio 2010.akrakovetsky
 
Lec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edLec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edcit-cit
 
"Building a cloud-native data platform with security in mind", Natalie Godec
"Building a cloud-native data platform with security in mind", Natalie Godec "Building a cloud-native data platform with security in mind", Natalie Godec
"Building a cloud-native data platform with security in mind", Natalie Godec Fwdays
 
"Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin..."Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin...Fwdays
 
ASP.Net Core Services
ASP.Net Core ServicesASP.Net Core Services
ASP.Net Core ServicesVictor Haydin
 

Similar to Wcf module 2 (20)

Aspnet core
Aspnet coreAspnet core
Aspnet core
 
ASP.Net basics
ASP.Net basics ASP.Net basics
ASP.Net basics
 
System programing module 1
System programing module 1System programing module 1
System programing module 1
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptx
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
System programing module 2
System programing module 2System programing module 2
System programing module 2
 
ASP.Net MVC
ASP.Net MVCASP.Net MVC
ASP.Net MVC
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro Overview
 
вашенюк
вашенюквашенюк
вашенюк
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
Lec11 користувацькi елементи керування
Lec11 користувацькi елементи керуванняLec11 користувацькi елементи керування
Lec11 користувацькi елементи керування
 
NodeJS.pptx
NodeJS.pptxNodeJS.pptx
NodeJS.pptx
 
Continious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій ГалушкаContinious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій Галушка
 
What's new in Visual Studio 2010.
What's new in Visual Studio 2010.What's new in Visual Studio 2010.
What's new in Visual Studio 2010.
 
Lec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування edLec12 користувацькi елементи керування ed
Lec12 користувацькi елементи керування ed
 
"Building a cloud-native data platform with security in mind", Natalie Godec
"Building a cloud-native data platform with security in mind", Natalie Godec "Building a cloud-native data platform with security in mind", Natalie Godec
"Building a cloud-native data platform with security in mind", Natalie Godec
 
Crawler.pptx
Crawler.pptxCrawler.pptx
Crawler.pptx
 
"Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin..."Key considerations in implementing a distributed message-sending system usin...
"Key considerations in implementing a distributed message-sending system usin...
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
ASP.Net Core Services
ASP.Net Core ServicesASP.Net Core Services
ASP.Net Core Services
 

More from Andrii Hladkyi

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. SerializationAndrii Hladkyi
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsAndrii Hladkyi
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorAndrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. ThreadsAndrii Hladkyi
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsAndrii Hladkyi
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsAndrii Hladkyi
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesAndrii Hladkyi
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOPAndrii Hladkyi
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 

More from Andrii Hladkyi (20)

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
 
Win api module_6.2
Win api module_6.2Win api module_6.2
Win api module_6.2
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 

Wcf module 2

  • 2. В цьому модулі:  Хостинг  Конфігорування хоста 2 Andrey Gladky KspDevelop@gmail.com
  • 3. Клас ServiceHost  Клас ServiceHost застосовується для конфігурації та подання служби WCF з програми-хоста. Цей тип буде використовуватися безпосередньо тільки при побудові спеціальних збірок *.exe, призначених для хостингу служб. Якщо ж для відкриття служби застосовується IIS, то об'єкт ServiceHost створюється автоматично.  Цей тип вимагає повного опису служби, яке отримується динамічно через конфігураційні налаштування файлу *.config хоста. Хоча це відбувається автоматично при створенні об'єкта, можна вручну налаштувати стан об'єкта ServiceHost за допомогою ряду його властивостей і методів. Andrey Gladky KspDevelop@gmail.com 3
  • 4. Член Опис Authorization Ця властивість отримує рівень авторизації для розміщеної служби AddDefaultEndpoints () Цей метод застосовується для програмного конфігурації хоста служби WCF, щоб він використовував будь-яку кількість готових кінцевих точок, наданих платформою AddServiceEndpoint () Цей метод дозволяє програмно зареєструвати кінцеву точку для хоста BaseAddresses Це властивість отримує список зареєстрованих базових адрес для поточної служби BeginOpen() BeginClose() Ці методи дозволяють асинхронно відкривати і закривати об'єкт ServiceHost, використовуючи стандартний асинхронний синтаксис делегата .NET CloseTimeout Це властивість дозволяє встановлювати і отримувати час, відведений службі на закриття Credentials Це властивість отримує посвідчення безпеки, використовувані поточної службою EndOpen() EndClose() Ці методи являють собою асинхронні аналоги BeginOpen () і Begin Close () OpenTimeout Це властивість дозволяє встановлювати і отримувати час, відведений службі на запуск State Це властивість отримує значення, яке вказує поточний стан об'єкта комунікації, представлене перерахуванням CommunicationState (наприклад, Opened, Closed, Created) 4
  • 5. Клас ChannelFactory  ChannelFactory дозволяє створити канал зв'язку для служби без проксі-сервера. Який створює і управляє різними типами каналів, які використовуються клієнтом для відправки повідомлень з різними сконфігурованими кінцевими точками обслуговування.  Клас ChannelFactory корисний, коли ви хочете розділити контракт DLL загальної служби між клієнтом і сервером. Andrey Gladky KspDevelop@gmail.com 5
  • 7. Конфігурування хоста (app.config) При побудові хоста для службового типу WCF необхідно слідувати заздалегідь передбачуваному набору кроків, частина з яких покладається на конфігурацію, а частина - на код.  Визначити кінцеву точку для служби WCF в файлі конфігурації хоста.  Програмно використовувати тип ServiceHost для відкриття службових типів, доступних з цієї кінцевої точки.  Забезпечити постійну роботу хоста для обслуговування вхідних клієнтських запитів. Цей крок не обов'язковий, якщо для хостингу застосовується служба Windows або IIS.  У XML кінцева точка виражається елементом <endpoint> і його атрибутами address, binding і contract. Andrey Gladky KspDevelop@gmail.com 7
  • 8. Конфігурування хоста (app.config) За допомогою вкладеного елемента <endpoint> задається адреса, модель прив'язки (basicHttpBinding) і повністю задане ім'я інтерфейсного типу, що визначає контракт служби WCF (IEightBall). Оскільки застосовується прив'язка на основі HTTP, вказується схема http:// з довільним ідентифікатором порту. Коли виконувальна програма стартує, створюється екземпляр типу ServiceHost, якому повідомляється служба WCF, що відповідає за хостинг. Під час виконання цей об'єкт автоматично читає дані з контексту елемента <system.serviceModel> файлу *.config хоста для визначення правильної адреси, прив'язки і контракту, і створює всі необхідні механізми. Andrey Gladky KspDevelop@gmail.com 8