Architecture Net

       

Создание проекта Web-службы на основе ATL Server (ATL Server Web Service Project)


В главе 11 "Web-службы" мы видели, как работают Web-службы, используя ASP NET Здесь не будет повторения теоретических основ их работы, ведь эти основы одни и те же, что бы ни использовалось для реализации Web-службы — ASP NET или ATL Server А вот что касается отличий, то главное из них состоит в том, что если ASP NET реализуется с помощью управляемого кода и допускает использование любого из языков платформы NET, то библиотека шаблонных классов ATL, наоборот, реализована с помощью неуправляемого кода и допускает использование только Visual C++


Вот последовательность действий, с помощью которых можно создать проект пусковой системы (стартера, или инициирующей программы) Web-службы на основе библиотека шаблонных классов ATL [Экземпляр решения для этого проекта имеется в каталоге ATLServerWeb ].

  • Выберите следующие пункты меню File<=>NewOProject (ФайлОСоздать'ФПроект)
  • В дереве Project Types (Типы проектов) откройте узел Visual C++ Projects (Проекты Visual C++)
  • В окне Templates (Шаблоны) выберите ATL Server Web Service Project (Проект Web-службы на основе ATL Server) В результате появится Мастер создания проектов на основе ATL Server (ATL Server Project Wizard), причем предназначенный для создания Web-службы, а не Web-приложения
  • В качестве имени проекта введите ATLServerWeb
  • Введите имя каталога, предназначенного для хранения проекта В данном случае используется каталог Demos (Демонстрационные примеры)
  • Для запуска Мастера создания проектов на основе ATL Server (ATL Server Project Wizard) щелкните на кнопке OK
  • На вкладке Overview (Общие сведения) этой программы просмотрите значения параметров, заданные по умолчанию Кроме того, посмотрите на вкладки Project Settings (Параметры проекта), Server Options (Параметры сервера), Application Options (Параметры приложения) и Developer Support Options (Параметры поддержки разработчика) Они показаны на рис. 12.20, 12.21, 12.22, 12.23 и 12.24
  • Не изменяя этих заданных по умолчанию значений, щелкните на кнопке Finish (Готово)

  • Выполняйте то, что обычно делается при создании проекта В результате на основе библиотеки шаблонных классов ATL будет создана и развернута Web-служба






  • Рис.12.20. Вкладка Overview (Общие сведения) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)



    Рис. 12.21. Вкладка Project Settings (Параметры проекта) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)



    Рис. 12.22. Вкладка Server Options (Параметры сервера) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)



    Рис. 12.23. Вкладка Application Options (Параметры приложения) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)



    Рис. 12.24. Вкладка Developer Support Options (Параметры поддержки разработчика) Мастера создания Web-служб на основе библиотеки шаблонных классов ATL (ATL Web Service Project Wizard)

    Следующие файлы создаются только в проекте Web-службы на основе библиотеки шаблонных классов ATL. Файл обнаружения (discovery file) содержит информацию, отформатированную по правилам XML. Эта информация используется инструментами создания клиента для обнаружения функционального интерфейса, предоставляемого Web-службой. HTML-файл предоставляет доступ к читабельной (для людей!) информации о возможностях этой Web-службы.

  • .disco-файл.


  • . htm-файл.


  • Ну а . srf-файл создается только в проекте на основе ATL Server (ATL Server project), а не в проекте Web-службы на основе библиотеки шаблонных классов ATL (ATL Web Service project), в котором он совсем ни к чему. Дело в том, что доступ к Web-службе выполняется не из Web-броузера, а из пользовательского клиентского приложения.

    Единственный файл, который, хотя и имеется в проектах обоих видов, т.е. в проекте на основе ATL Server (ATL Server project) и в проекте Web-службы на основе библиотеки шаблонных классов ATL (ATL Web Service project), но при этом существенно отличается в зависимости от типа проекта, — это .h-файл, реализующий класс обработчика запросов ATL Server. В проектах обоих видов определяется пространство имен. Впрочем, только в проекте Web-службы на основе библиотеки шаблонных классов ATL (ATL Web Service project) пространство имен содержит интерфейс доступа к методам этой службы, а также класс обработчика запросов, имеющий дополнительный атрибут soap_handler. Кроме того, в этом классе есть метод из примера пусковой системы HelloWorld (Здравствуй, мир), к которому применяется атрибут soap_method.

    CompEbook.ru Железо, дизайн, обучение и другие


    Содержание раздела