Службы сеанса. Создание проекта Web-службы на основе ATL Server (ATL Server Web Service Project).
Вы, возможно, помните рис 12 4, где показана страница Server Options (Параметры сервера). Мастера создания проектов на основе ATL Server (ATL Server Project Wizard). На этой странице имеется флажок Session services (Службы сеанса). Если установить такой флажок, то проект будет автоматически настроен на управление состоянием сеанса. Доступ к переменным состояния сеанса обеспечивается классом CSessionStateService (Служба состояния сеанса) с помощью двух других классов CDBSession и CMemSession. Эти два класса, в свою очередь, реализуют интерфейс ISession, который определяет методы хранения, модификации, удаления и перечисления именованных переменных сеанса [Более подробно об управлении состоянием сеанса можно узнать в документации по ATL Server].
В главе 11 "Web-службы" мы видели, как работают Web-службы, используя ASP NET Здесь не будет повторения теоретических основ их работы, ведь эти основы одни и те же, что бы ни использовалось для реализации Web-службы – ASP NET или ATL Server А вот что касается отличий, то главное из них состоит в том, что если ASP NET реализуется с помощью управляемого кода и допускает использование любого из языков платформы NET, то библиотека шаблонных классов ATL, наоборот, реализована с помощью неуправляемого кода и допускает использование только Visual C++.
Вот последовательность действий, с помощью которых можно создать проект пусковой системы (стартера, или инициирующей программы) Web-службы на основе библиотека шаблонных классов ATL [Экземпляр решения для этого проекта имеется в каталоге ATLServerWeb].
- Выберите следующие пункты меню File › New › Project (Файл › Создать › Проект).
- В дереве 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)