Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литвинов / Лабораторна робота 3.doc
Скачиваний:
30
Добавлен:
23.03.2015
Размер:
2.29 Mб
Скачать

Створення служби «Hello, World» в середовищі Visual Studio .Net

Щоб забезпечити можливість автоматизації процесу розробки служб в середовищі VS .NET, необхідно перш за все конфігурувати її для взаємодії з web-сервером. З метою сумісного використовування файлів в мережі слід застосовувати або серверні розширення FrontPage.

Щоб створити нову web-службу, потрібно запустити VS .NET, після чого натиснути кнопку New Project на початковій сторінці Start Page, що відкрилася за умовчанням, або виберати команду File / New / Project в рядку головного меню VS .NET. В результаті виконаних дій відкриється вікно New Project.

У області Project Types необхідно відзначити елемент Visual C# Projects, після чого у області Templates з'явиться перелік доступних шаблонів проектів на мові С#. Для створення web-служби ASP .NET вибирають шаблон ASP.NET Web Service. Аналогічний шаблон є і в розділі проектів на мовах Visual Basic і Visual C++. Вибравши мову і шаблон, слід вказати місцезнаходження файлів проекту. Для нашого проекту потрібно задати URL-адресу web-серверу IIS, додавши до нього ім'я папки, де розташовуватимуться файли проекту (у даному прикладі - HelloWorld). Ім'я проекту в полі Name формується автоматично і співпадає з ім'ям папки, що містить файли проекту.

Після натискання кнопки ОК інтегроване середовище розробки (Integrated Development Environment, IDE) створить solution і проект, а також автоматично включить в проект декілька файлів. Крім того, IDE сформує в IIS віртуальну папку з ім'ям проекту (в даному випадку - HelloWorldService).

При створенні нового проекту web-служби ASP .NET середовище Visual Studio .NET генерує деякий стандартний код, який може стати стартом при розробці проекту. Вміст початкового файлу HelloWorldService.asmx.cs повинен бути приблизно таким, як на рис. 2.3.

Рис. 2.3. Стандартний код в середовищі Visual Studio .NET

Приведений стандартний код починається з операції імпортування декількох просторів імен, web-служб, що звичайно вимагаються для роботи, і автоматичної генерації визначень просторів імен і класів. У даному прикладі простором імен є HelloWorldService, а класом – Service1.

При визначенні простору імен застосовується ім'я проекту, яке можна змінити на свій розсуд відповідно до функцій додатку.

Не всі з просторів імен, що автоматично імпортуються на початку коду, є обов'язковими. Такі простори, як System.Data, System.Collections і System.Diagnostics, взагалі не застосовуються.

Тестування служби

На відміну від вмісту сторінок Active Server Pages, вміст сторінок web-служб не призначено для відображення в браузері, оскільки передбачається, що ці сторінки використовуватимуться клієнтськими додатками за допомогою таких протоколів, як HTTP, SMTP або SOAP через HTTP. Деякі з перерахованих протоколів, зокрема SOAP, служать для взаємодії серверів, інші ж, такі як HTTP, забезпечують традиційний доступ до web-сторінок.

Дістати доступ до web-служб, що базуються на застосуванні транспортного протоколу HTTP, так само просто, як і звернутися до звичної web-сторінки. Все, що для цього потрібно, - встановити web-браузер на клієнтській машині. За замовчанням всі web-служби .NET намагаються підтримувати і HTTP, і SOAP. Крім того, оскільки web-служби є додатками, клієнтами яких також виступають додатки, і, як наслідок, не мають графічного призначеного для користувача інтерфейсу, .NET надає стандартну тестову сторінку web-служби, яка відображається при зверненні браузера до asmx-сторінки. Якщо відкрити браузер і набрати в полі URL адресу створеної вами web-служби, з'явиться тестова сторінка IE, показана на рис. 2.4.

Сторінка, зображена на рис. 2.4, генерується середовищем .NET всякий раз, коли посилається запит на asmx-сторінку.

На тестовій сторінці відображається ім'я служби HelloWorldService, ім'я методу HelloWorld() і посилання на документ з описом служби. Ім'я служби і будь-яка додаткова інформація про цю службу виводяться шляхом використовування методу віддзеркалення, при якому для виявлення відомостей про існуючі типи через метадані застосовується простір імен System.Reflection. Якщо служба містить додаткові методи, що викликаються за допомогою HTTP, вони також будуть приведені на тестовій сторінці у вигляді посилань.

Рис. 2.4. Тест сторінки служби HelloWorldService