Presenter: M. H. Emadi
Title: SRI in Iran
Date: June 15, 2016
Venue: Cornell University, Ithaca, NY
Sponsor: SRI-Rice, International Programs, CALS, Cornell University
Presenter: M. H. Emadi
Title: SRI in Iran
Date: June 15, 2016
Venue: Cornell University, Ithaca, NY
Sponsor: SRI-Rice, International Programs, CALS, Cornell University
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