Ноу Інти, лекція, consuming web services with wcf

Анотація: Матеріал по частині WCF взято з книги Основи Windows Communication Foundation для .NET Framework 3.5 Стів Резник, Річард Крейн, Кріс Боуен.

Windows Communication Foundation

Windows Communication Foundation (WCF) - це уніфікована модель програмування розподілених додатків на платформі Microsoft. Вона інкорпорує попередні технології - ASMX. .NET Remoting. DCOM і MSMQ - і надає розширюваний API. відповідає різноманітним вимогам, які виникають при створенні розподілених систем. До WCF вам доводилося опановувати всіма цими технологіями, щоб вибрати ту, яка найкраще підходить в конкретній ситуації. WCF спрощує завдання, пропонуючи однаковий підхід.

В сучасних розподілених додатках найчастіше застосовуються Web-служби на основі XML. З їх допомогою реалізуються різноманітні технічні та бізнес функції, як в закритих, так і у відкритих мережах. Іноді при цьому використовується специфікація SOAP. іноді - ні. Зазвичай інформація передається у вигляді текстових документів, розмічених за допомогою тегів в кутових дужках, але це необов'язково. Як правило, в якості транспортного протоколу вибирається HTTP. але знову ж таки не завжди. WCF - це каркас для роботи з Web службами на основі XML. який сумісний з багатьма іншими технологіями.

Будучи всеосяжної системою роботи зі службами, WCF вводить термінологію, з якої ви повинні бути знайомі. Терміни не обов'язково позначають якісь нові концепції, однак описують узгоджену систему понять, яка необхідна для обговорення нової технології.


Мал. 23.1. Обмін даними між клієнтом і службою

Ноу Інти, лекція, consuming web services with wcf


Мал. 23.2. Комунікація між кінцевими точками клієнта і служби

Оконечная точка служби не може відповідати на повідомлення, якщо служба не розміщена в якомусь працюючому процесі операційної системи. Власником служби може бути будь-який процес, наприклад, працює без нагляду людини серверний додаток. Web сервер і навіть клієнтська програма. представлена ​​повноцінним вікном на екрані ПК або значком в системному лотку Windows. Для служб можна визначити поведінки, керуючі ступенем паралелізму, обмеженням пропускної здатності, транзакционной цілісністю, безпекою та іншими семантичними аспектами. Поведінки можна реалізувати за допомогою атрибутів .NET. шляхом маніпулювання виконуючою середовищем WCF або в конфігураційних файлах. У поєднанні з гнучкою моделлю розміщення поведінки помітно спрощують написання многопоточного коду.

Як показано на рис. 23.3. головна програма може створити екземпляр класу ServiceHost. який буде відповідати за створення кінцевих точок служби.

Ноу Інти, лекція, consuming web services with wcf


Мал. 23.3. Розміщення служби

Служби даних WCF (Silverlight)

Silverlight включає клієнтську бібліотеку середовищ. Служби даних WCF, яка дозволяє отримати доступ до даних з будь-якої служби, що надає доступ до веб-каналу Open Data Protocol (OData). OData ґрунтується на сутності і моделі зв'язку, яка дозволяє отримувати доступ до даних в стилі ресурсів перенесення репрезентативного стану (REST). Додатки на базі Silverlight можуть отримати доступ до цих даних через стандартний протокол HTTP для виконання запитів і навіть для створення, оновлення та видалення даних в службі даних.

Служби даних WCF. компонент .NET Framework. дозволяє легко реалізовувати службу даних для надання веб-каналу OData в додатку .NET Framework. середовищ. Служби даних WCF підтримує повний набір функціональних можливостей OData для виявлення, створення запитів та оновлення даних в службі даних.

Створення WCF сервісу

Усього є 4 шаблону, через які можна реалізувати веб-сервіси:

  • Silverlight-enabled WCF Service. Цей шаблон створює веб-службу, яка надає дані клієнта Silverlight або зовнішнього інтерфейсу. Шаблон може бути доданий на веб-сайт або в проект веб-додатки для створення служби WCF, яка включає код і конфігурацію служби, що підтримує взаємодію з клієнтом Silverlight.
  • AJAX - enabled WCF Service. Цей шаблон надає елемент керування AJAX як службу WCF.
  • WCF Service Application. Це призначений для користувача шаблон, який надає швидкий спосіб для додавання служб WCF в існуючі проекти Visual Studio.
  • Web Service. Шаблон звичайного веб-сервісу.

У Silverlight - додаток додається файл Silverlight-enabled WCF Service (Рис 23.4). Файл буде мати розширення svc.

Ноу Інти, лекція, consuming web services with wcf


збільшити зображення
Мал. 23.4. Додавання WCF сервісу до Silverlight проекту

У файлі згенерує код. Атрибут [OperationContract] свого роду роздільник для методів в сервісі, при додаванні чергового методу, необхідно додавати даний атрибут:

Оскільки режим сумісності ASP.NET має на увазі семантику обробки запитів, істотно відрізняється від WCF за замовчуванням, в реалізації окремих служб є можливість управління тим, чи виконуються вони всередині програми, для якого включений режим сумісності ASP. NET. Служби можуть використовувати атрибут AspNetCompatibilityRequirements для вказівки, чи підтримують вони режим сумісності ASP.NET.

Таблиця 23.1. Взаємодія параметра режиму сумісності на рівні додатку з заданим рівнем підтримки окремої служби

Параметр режиму сумісності на рівні додатку

Схожі статті