SlideShare a Scribd company logo
WCF
Module 3.2 MEX
MEX (Meta data exchange)
Клієнтська програма WCF взаємодіє зі службою WCF через
проміжний проксі.
Можна написати код проксі вручну, це було б досить утомливо і з
значною кількістю помилок.
В рамках .NET Framework 4.5 SDK доступний інструмент
командного рядка (svcutil.exe), призначений саме для цих цілей.
Щоб ці інструменти генерували необхідний код проксі і файл *.
config, вони повинні мати можливість досліджувати формат
інтерфейсів служби WCF і будь-яких певних контрактів даних
(тобто імена методів і типи параметрів).
Andrey Gladky
KspDevelop@gmail.com 2
MEX (Meta data exchange)
Обмін метаданими (metadata exchange - МЕХ) - це поведінка
служби WCF, яка може застосовуватися для тонкого
налаштування способу обробки служби виконуючим
середовищем WCF. Висловлюючись просто, кожен елемент
<behavior> може визначати набір дій, на які дана служба може
підписуватися.
Поведінка МЕХ (яке за замовчуванням вимкнено) перехопить
будь-які запити метаданих, відправлені через HTTP-запит GET.
Щоб дозволити svcutil.exe або Visual Studio автоматизувати
створення необхідного проксі клієнтської сторони і файлу *.
config, знадобиться включити МЕХ.
Andrey Gladky
KspDevelop@gmail.com 3
Увімкнення MEX
Увімкнення МЕХ здійснюється в файлі *.config хоста за
допомогою відповідних налаштувань.
 По-перше, необхідно додати новий елемент <endpoint>
конкретно для МЕХ.
 По-друге, потрібно визначити поведінку WCF для дозволу
доступу HTTP GET.
 По-третє, потрібно асоціювати дану поведінку по імені зі
службою за допомогою атрибута behaviorConfiguration в
відкриваючому елементі <service>.
 По-четверте, знадобиться додати елемент <host> для
визначення базового класу цієї служби (МЕХ буде шукати тут
місце розташування описуваних типів).
Andrey Gladky
KspDevelop@gmail.com 4
Увімкнення MEX
Тепер можна перезапустити програму-хост служби та переглянути
опис метаданих в веб-браузері. Для цього при функціонуючому хості
введіть наступний URL в рядку адреси:
На головній сторінці служби WCF можна отримати базову інформацію
про те, як програмно взаємодіяти з цією службою.
Andrey Gladky
KspDevelop@gmail.com 5
http://localhost:8080/MagicEightBallService
Andrey Gladky
KspDevelop@gmail.com 6

More Related Content

What's hot

Rpc
RpcRpc
Wcf module 3.6
Wcf module 3.6Wcf module 3.6
Wcf module 3.6
Andrii Hladkyi
 
Windows service
Windows serviceWindows service
Windows service
eleksdev
 
07 Database Access
07 Database Access07 Database Access
07 Database Accesseleksdev
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
eleksdev
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
eleksdev
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
Version control
Version controlVersion control
Version control
eleksdev
 
DAL
DALDAL

What's hot (9)

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

Viewers also liked

La Guerra Fría
La Guerra FríaLa Guerra Fría
La Guerra Fría
Horacio Rene Armas
 
Power Point 9 octubre
Power Point 9 octubrePower Point 9 octubre
Power Point 9 octubre
Andrea Sancho Sampedro
 
コラムー無為無策の日本漁業
コラムー無為無策の日本漁業コラムー無為無策の日本漁業
コラムー無為無策の日本漁業
徹 長谷川
 
Sicologia laboral
Sicologia laboralSicologia laboral
Sicologia laboral
rafael aldazoro
 
Uml module 6
Uml module 6Uml module 6
Uml module 6
Andrii Hladkyi
 
1606 - The System of Rice Intensification (SRI) in Iran
1606 - The System of Rice Intensification (SRI) in Iran1606 - The System of Rice Intensification (SRI) in Iran
1606 - The System of Rice Intensification (SRI) in Iran
SRI-Rice, Dept. of Global Development, CALS, Cornell University
 
ザ本町 第2回本町まつり
ザ本町 第2回本町まつりザ本町 第2回本町まつり
ザ本町 第2回本町まつり
徹 長谷川
 
柿田川泉沼津上水場関連資料(清水町資料)
柿田川泉沼津上水場関連資料(清水町資料)柿田川泉沼津上水場関連資料(清水町資料)
柿田川泉沼津上水場関連資料(清水町資料)
徹 長谷川
 
Module 5 task 1 laura vilar
Module 5 task 1 laura vilarModule 5 task 1 laura vilar
Module 5 task 1 laura vilar
Laura Vilar
 
Thinking routine laura vilar
Thinking routine laura vilarThinking routine laura vilar
Thinking routine laura vilar
Laura Vilar
 
Us Education System (Elena Herrera)
Us Education System (Elena Herrera)Us Education System (Elena Herrera)
Us Education System (Elena Herrera)
Isabel Gil Marín
 
平成28年12月11日日吉廃寺発掘現地説明会資料
平成28年12月11日日吉廃寺発掘現地説明会資料平成28年12月11日日吉廃寺発掘現地説明会資料
平成28年12月11日日吉廃寺発掘現地説明会資料
徹 長谷川
 
Conflictos en México -- Siglo XIX
Conflictos en México -- Siglo XIXConflictos en México -- Siglo XIX
Conflictos en México -- Siglo XIX
Horacio Rene Armas
 

Viewers also liked (13)

La Guerra Fría
La Guerra FríaLa Guerra Fría
La Guerra Fría
 
Power Point 9 octubre
Power Point 9 octubrePower Point 9 octubre
Power Point 9 octubre
 
コラムー無為無策の日本漁業
コラムー無為無策の日本漁業コラムー無為無策の日本漁業
コラムー無為無策の日本漁業
 
Sicologia laboral
Sicologia laboralSicologia laboral
Sicologia laboral
 
Uml module 6
Uml module 6Uml module 6
Uml module 6
 
1606 - The System of Rice Intensification (SRI) in Iran
1606 - The System of Rice Intensification (SRI) in Iran1606 - The System of Rice Intensification (SRI) in Iran
1606 - The System of Rice Intensification (SRI) in Iran
 
ザ本町 第2回本町まつり
ザ本町 第2回本町まつりザ本町 第2回本町まつり
ザ本町 第2回本町まつり
 
柿田川泉沼津上水場関連資料(清水町資料)
柿田川泉沼津上水場関連資料(清水町資料)柿田川泉沼津上水場関連資料(清水町資料)
柿田川泉沼津上水場関連資料(清水町資料)
 
Module 5 task 1 laura vilar
Module 5 task 1 laura vilarModule 5 task 1 laura vilar
Module 5 task 1 laura vilar
 
Thinking routine laura vilar
Thinking routine laura vilarThinking routine laura vilar
Thinking routine laura vilar
 
Us Education System (Elena Herrera)
Us Education System (Elena Herrera)Us Education System (Elena Herrera)
Us Education System (Elena Herrera)
 
平成28年12月11日日吉廃寺発掘現地説明会資料
平成28年12月11日日吉廃寺発掘現地説明会資料平成28年12月11日日吉廃寺発掘現地説明会資料
平成28年12月11日日吉廃寺発掘現地説明会資料
 
Conflictos en México -- Siglo XIX
Conflictos en México -- Siglo XIXConflictos en México -- Siglo XIX
Conflictos en México -- Siglo XIX
 

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. Serialization
Andrii 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, Abstractions
Andrii 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 Collector
Andrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
Andrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
Andrii 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. Generics
Andrii 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, Events
Andrii 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. Interfaces
Andrii 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. OOP
Andrii Hladkyi
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
Andrii Hladkyi
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
Andrii Hladkyi
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
Andrii Hladkyi
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
Andrii Hladkyi
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
Andrii Hladkyi
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
Andrii Hladkyi
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
Andrii Hladkyi
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
Andrii 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
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
Andrii 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
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
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
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
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
 

Wcf module 3.2

  • 2. MEX (Meta data exchange) Клієнтська програма WCF взаємодіє зі службою WCF через проміжний проксі. Можна написати код проксі вручну, це було б досить утомливо і з значною кількістю помилок. В рамках .NET Framework 4.5 SDK доступний інструмент командного рядка (svcutil.exe), призначений саме для цих цілей. Щоб ці інструменти генерували необхідний код проксі і файл *. config, вони повинні мати можливість досліджувати формат інтерфейсів служби WCF і будь-яких певних контрактів даних (тобто імена методів і типи параметрів). Andrey Gladky KspDevelop@gmail.com 2
  • 3. MEX (Meta data exchange) Обмін метаданими (metadata exchange - МЕХ) - це поведінка служби WCF, яка може застосовуватися для тонкого налаштування способу обробки служби виконуючим середовищем WCF. Висловлюючись просто, кожен елемент <behavior> може визначати набір дій, на які дана служба може підписуватися. Поведінка МЕХ (яке за замовчуванням вимкнено) перехопить будь-які запити метаданих, відправлені через HTTP-запит GET. Щоб дозволити svcutil.exe або Visual Studio автоматизувати створення необхідного проксі клієнтської сторони і файлу *. config, знадобиться включити МЕХ. Andrey Gladky KspDevelop@gmail.com 3
  • 4. Увімкнення MEX Увімкнення МЕХ здійснюється в файлі *.config хоста за допомогою відповідних налаштувань.  По-перше, необхідно додати новий елемент <endpoint> конкретно для МЕХ.  По-друге, потрібно визначити поведінку WCF для дозволу доступу HTTP GET.  По-третє, потрібно асоціювати дану поведінку по імені зі службою за допомогою атрибута behaviorConfiguration в відкриваючому елементі <service>.  По-четверте, знадобиться додати елемент <host> для визначення базового класу цієї служби (МЕХ буде шукати тут місце розташування описуваних типів). Andrey Gladky KspDevelop@gmail.com 4
  • 5. Увімкнення MEX Тепер можна перезапустити програму-хост служби та переглянути опис метаданих в веб-браузері. Для цього при функціонуючому хості введіть наступний URL в рядку адреси: На головній сторінці служби WCF можна отримати базову інформацію про те, як програмно взаємодіяти з цією службою. Andrey Gladky KspDevelop@gmail.com 5 http://localhost:8080/MagicEightBallService