Иллюстрированный самоучитель по Architecture .NET

Класс WebService. Использование шаблона Managed C++ web Service (Web-службы на управляемом C++).

Как мы показали раньше, Web-служба представляет собой не что иное, как обработчик запросов, поступающих по протоколу передачи гипертекстовых файлов HTTP. В качестве такового Web-служба имеет доступ к внутренним объектам, которые содержатся в этих запросах. Внутренние объекты запроса, передающегося по протоколу передачи гипертекстовых файлов HTTP, обсуждались в разделе "Состояния в приложениях ASP.NET" главы 10 "ASP.NET и Web-формы". Доступ к этим внутренним объектам обеспечивают свойства, которые содержатся в классе WebService.

Класс Web-службы не обязательно должен быть производным от класса WebService, который входит в состав каркаса. При необходимости класс Web-службы может быть производным от любого базового класса. Тогда получить доступ к внутренним объектам можно с помощью рассматриваемого объекта HttpContext. Класс WebService является производным от класса MarshalByRefObject. Поэтому, если класс вашей Web-службы является производным от другого базового класса и вы хотите, чтобы служба обрабатывала удаленные запросы, тогда убедитесь, что ее класс является производным от класса MarshalByRefObject. Информацию о запросе, который передается по протоколу передачи гипертекстовых файлов HTTP, можно получить с помощью объекта HttpContext. Информацию о текущем запросе можно получить при помощи статического свойства Current (Текущий).

Использование шаблона Managed C++ web Service (Web-службы на управляемом C++)

Управляемую Web-службу можно достаточно легко написать на языке C++ с управляемыми расширениями Используя шаблон Managed C++ Web Service Template (Web-служба на управляемом C++), создайте проект пусковой системы. Следуйте приведенным ниже пошаговым инструкциям Создаваемый проект содержится в виде уже готового решения в каталоге ManagedWebService. Чтобы самостоятельно создать проект, который будет расположен в каталоге Demos (Демонстрации), выполните следующие шаги:

  1. Из меню File (Файл) выберите команду New (Создать). Затем выберите команду Project (Проект).
  2. В окне Project Types (Типы проектов) щелкните на папке Visual C++ Projects (Проекты на Visual C++).
  3. В окне Templates (Шаблоны) выделите пиктограмму Managed C++ Web Service (Web-служба на управляемом C++).
  4. Введите ManagedWebService в качестве названия проекта.
  5. В поле Location (Расположение) установите значение C:\OI\NetCpp\Chapll\ Demos. Диалоговое окно New Project (Новый проект) с заполненными полями приведено на рис. 11.4.

Иллюстрированный самоучитель по Architecture .NET › Web-службы › Класс WebService. Использование шаблона Managed C++ web Service (Web-службы на управляемом C++).
Рис. 11.4. Диалоговое окно New Project (Новый проект) в котором выбран шаблон Managed C++ Web Service (Web-служба на управляемом C++)

  1. Щелкните на ОК.
  2. Сгенерированный код мы просмотрим позже. Сейчас же мы создадим проект и запустим его. Для этого раскройте меню Build (Скомпоновать) и выберите команду Build (Скомпоновать). Можно также воспользоваться комбинацией клавиш CTRL + SHIFT + B. Затем запустите проект. Режим отладки мы использовать не будем, поэтому из меню Debug (Отладка) выберите команду Start Without Debugging (Запустить без отладки). Появится окно браузера, показанное на рис. 11.5.

Иллюстрированный самоучитель по Architecture .NET › Web-службы › Класс WebService. Использование шаблона Managed C++ web Service (Web-службы на управляемом C++).
Рис. 11.5. Вид, который имеет Web-служба, построенная с помощью шаблона Managed C++ Web Service (Web-служба на управляемом C++)

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.