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

PPTX
Wcf module 1
PPTX
Wcf module 3.1
PPTX
Wcf module 2
PPTX
Wcf module 3.3
PPTX
Wcf module 3.5
PPTX
11 web services
PPTX
Wcf module 3.7
PPTX
Wcf module 3.8
Wcf module 1
Wcf module 3.1
Wcf module 2
Wcf module 3.3
Wcf module 3.5
11 web services
Wcf module 3.7
Wcf module 3.8

What's hot (9)

PPTX
PPTX
Wcf module 3.6
PPTX
Windows service
PPTX
07 Database Access
PPTX
Web service lecture
PPTX
G rpc lection1_theory_bkp2
PPTX
10 asp.net
PPTX
Version control
PPTX
Wcf module 3.6
Windows service
07 Database Access
Web service lecture
G rpc lection1_theory_bkp2
10 asp.net
Version control
Ad

Viewers also liked (13)

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

More from Andrii Hladkyi (20)

PPTX
Net framework and C# module 17. Serialization
PPTX
Net Framework and C# Module 3 4. Inheritance, Abstractions
PPTX
NET Framework and C# Module 12.2. Garbage Collector
PPTX
System programing module 2. Threads
PPTX
System programing module 1. Processes
PPTX
NET Framework and C# Module 6.2. Generics
PPTX
NET Framework and C# Module 6. Delegates, Events
PPTX
NET Framework and C# Module 5. Interfaces
PPTX
Net Framework and c# module 2. OOP
PPTX
Net Framework and c# Lesson 1
PPTX
Wpf module 2
PPTX
Wpf module 1
PPTX
Msp module 3
PPTX
Msp module 2
PPTX
Msp module 1
PPTX
Ado.net module 2
PPTX
Ado.net module 1
PPTX
Design pattern module 1
PPTX
Win api module_2.0_gdi+
PPTX
Win api module_1.1_ok
Net framework and C# module 17. Serialization
Net Framework and C# Module 3 4. Inheritance, Abstractions
NET Framework and C# Module 12.2. Garbage Collector
System programing module 2. Threads
System programing module 1. Processes
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 5. Interfaces
Net Framework and c# module 2. OOP
Net Framework and c# Lesson 1
Wpf module 2
Wpf module 1
Msp module 3
Msp module 2
Msp module 1
Ado.net module 2
Ado.net module 1
Design pattern module 1
Win api module_2.0_gdi+
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