Windows communication foundation services and wcf data services in visual studio

Методи і функції, які надаються службою WCF, задаються шляхом позначки їх атрибутом OperationContractAttribute. Крім того, можна надати серіалізовані дані, позначивши складовою тип атрибутом DataContractAttribute. Це робить можливим прив'язку даних на клієнті.

Після того як інтерфейс і його методи були визначені, вони инкапсулируются в клас, який реалізує цей інтерфейс. Множинні контракти служби WCF може реалізувати єдиний її клас.

Служба WCF надається для використання за допомогою того, що називається кінцевою точкою. Кінцева точка - це єдиний спосіб повідомлення з цією службою; неможливо отримати до неї доступ за допомогою прямого посилання, на відміну від інших класів ..

клієнт WCF

Клієнт WCF складається з проксі. що дозволяє з додатком взаємодіяти зі службою (WCF), і кінцевої точки, відповідної кінцевої точки, заданої для цієї служби. Проксі створюється на стороні клієнта в файлі app.config і включає інформацію про типах і методах, що надаються службою. У разі служб, що надають кілька кінцевих точок, клієнт може вибрати одну, найкраще відповідає його вимогам; наприклад, клієнт може вибрати спосіб повідомлення за допомогою протоколу HTTP і перевірку автентичності Windows.

Після створення клієнта WCF можна звертатися до його службі в коді точно так же, як це робиться з будь-яким іншим об'єктом. Наприклад, для виклику методу GetData. показаного вище, можна написати приблизно наступний код:

Створення і тестування служб WCF

Для швидкого створення своєї власної служби можна скористатися шаблонами WCF Visual Studio в якості основи. Потім за допомогою інструментів Auto Host служби WCF і WCF Test Client налагодити і протестувати службу. Обидва цих інструменту забезпечують швидкий і зручний цикл налагодження і тестування, і виключають вимога зафіксувати модель розміщення на ранній стадії.

шаблони WCF

Шаблони WCF Visual Studio надають базову структуру класу для розробки служби. Кілька шаблонів WCF є в діалоговому вікні Додавання нового проекту. Зокрема, це шаблони проектів бібліотеки служби WCF, веб-вузлів служби WCF і елементів служби WCF.

При виборі шаблону файли додаються в контракт служби, в реалізацію служби і в конфігурацію служби. Також додаються всі необхідні атрибути, створюючи просту службу типу "Hello World", і створювати якийсь код немає необхідності. Звичайно, може знадобитися додати код для забезпечення функцій і методів реальної служби, тому що шаблони надають лише основу для конструктора.

Додаткові відомості про шаблони WCF см. В розділі Шаблони WCF в Visual Studio.

вузол служби WCF

При запуску відладчика Visual Studio (шляхом натискання F5) для проекту служби WCF автоматично запускається інструмент вузол служби WCF для розміщення цієї служби локально. вузол служби WCF становить список служб в проекті служби WCF, завантажує конфігурацію проекту і створює вузол для кожної знайденої служби.

За допомогою вузла служби WCF можна тестувати службу WCF без створення додаткового коду або фіксації в конкретному вузлі під час розробки.

Додаткові відомості про вузол служби WCF см. В розділі Вузол служби WCF (WcfSvcHost.exe).

Клієнт тесту WCF

Інструмент Клієнт тесту WCF дозволяє ввести тестові параметри, відправити їх в службу WCF і побачити реакцію служби. При комбінованому використанні з вузлом служби WCF цей інструмент забезпечує зручну практику тестування служби.

При натисканні клавіші F5 для налагодження проекту служби WCF відкривається Клієнт тесту WCF, який виводить список кінцевих точок служби, заданих у файлі конфігурації. Можна протестувати ці параметри і запустити службу, і повторювати цей процес для послідовного тестування і перевірки служби.

Додаткові відомості про Клієнта тесту WCF см. В розділі Тестовий клієнт WCF (WcfTestClient.exe).

Доступ до служб WCF в Visual Studio

Visual Studio спрощує завдання створення клієнтів WCF автоматично створюючи проксі і кінцеву точку для служби, додаються за допомогою Додати посилання на службу діалогове вікно. Вся необхідні відомості про конфігурацію додаються в файл app.config. Здебільшого все, що необхідно зробити - це створити службу, щоб потім її використовувати.

Деякі служби Windows Communication Foundation (WCF) надають кілька кінцевих точок, за допомогою яких клієнт може сполучатися з сервером. Наприклад, служба може надавати одну кінцеву точку, яка використовує прив'язку HTTP і перевірку автентичності у вигляді імені користувача / пароля, і другу кінцеву точку, яка використовує FTP і перевірку автентичності Windows. Першу кінцеву точку можуть використовувати додатки, які здійснюють доступ до служби, розташованої зовні брандмауера, в той час як другу кінцеву точку можна використовувати в інтрамережі.

В такому випадку можна задати endpointConfigurationName як параметр конструктора для посилання на службу.

Відображені на комп'ютері імена або розташування деяких елементів призначеного для користувача інтерфейсу Visual Studio можуть відрізнятися від зазначених в наступних інструкціях. Це залежить від наявного випуску Visual Studio і використовуваних параметрів. Додаткові відомості див. У розділі Персоналізація середовища IDE.

Щоб вибрати кінцеву точку служби

Додайте посилання на службу WCF. Додаткові відомості див. У розділі How to: Add, Update, or Remove a Service Reference.

Дані, які повертаються службою Windows Communication Foundation (WCF), можна прив'язати до елементу управління так само, як дані з будь-якого іншого джерела. Якщо служба WCF містить складові типи, які повертають дані, то при додаванні посилання на цю службу повертаються дані автоматично додаються у вікно Джерела даних.

Щоб прив'язати елемент управління до одного полю даних, що повертається службою WCF

У меню Дані виберіть пункт Показати джерела даних. З'явиться вікно Джерела даних.

У вікні Джерела даних розгорніть вузол потрібної посилання на службу. Будуть виведені всі складові типи, які повертаються службою.

Розгорніть вузол типу. Будуть виведені поля даних для цього типу.

Виберіть поле та натисніть стрілку списку, щоб вивести список елементів управління, доступних для обраного типу даних.

Клацніть тип елемента управління, який необхідно прив'язати.

Перетягніть поле на форму. Елемент управління буде додано до форму разом з компонентами BindingSource і BindingNavigator.

Повторіть кроки з четвертого по шостий для всіх інших полів, для яких потрібно виконати прив'язку.

Щоб прив'язати елемент управління до складеного типу, що повертається службою WCF

У меню Дані виберіть Показати джерела даних. З'явиться вікно Джерела даних.

У вікні Джерела даних розгорніть вузол потрібної посилання на службу. Будуть виведені всі складові типи, які повертаються службою.

Виберіть вузол типу і клацніть стрілку списку, щоб вивести список доступних параметрів.

Клацніть або DataGridView. щоб вивести дані у вигляді таблиці, або Details. щоб вивести дані в окремих елементах управління.

Перетягніть вузол на форму. Елементи управління будуть додані в форму разом з компонентами BindingSource і BindingNavigator.

При додаванні в проект посилання на службу в цьому локальному проекті створюються всі типи, задані в службі. Якщо служба використовує загальні типи .NET Framework, або типи задані в загальній бібліотеці, то в результаті в більшості випадків створюються дублюються типи.

Чірби уникнути цієї проблеми, типи в збірках, на які є посилання, за замовчуванням є спільно використовуваними. Якщо потрібно відключити спільне використання типів для однієї або декількох збірок, це можна зробити в діалоговому вікні Налаштування посилань на збірки.

Щоб відключити спільне використання типів в одній збірці

У Обозревателе рішень оберіть одне з посилань на службу.

В меню Проект виберіть Налаштувати посилання на службу.

Поставте прапорець для кожної збірки, в якій потрібно включити спільне використання типів. Щоб відключити спільне використання типів, зніміть цей прапорець.

Щоб відключити спільне використання типів у всіх збірках

У Обозревателе рішень оберіть одне з посилань на службу.

В меню Проект виберіть Налаштувати посилання на службу.

Схожі статті