Architecture Net или что такое Microsoft.NET?




Создание проекта ATL Server Project (Проект на основе ATL Server)

Чтобы с помощью ATL Server Project Wizard (Мастер создания проектов на основе ATL Server) создать проект ATL Server Project (Проект на основе ATL Server), нужно соблюдать определенную последовательность действий. Создать свой собственный проект вы можете либо выполнив указанные ниже действия, либо открыв в каталоге ATLServerApp (приложение на основе ATL Server) имеющееся в нем решение ATLServerApp.sin [В имеющемся решении находится также дополнительный код, который будет добавляться по мере чтения следующих нескольких страниц. ].

  1. Выберите следующие пункты меню: File => New => Project (Файл => Создать => Проект).
  2. В дереве Project Types (Типы проектов) откройте узел Visual C++ Projects (Проекты Visual C++).
  3. В окне Templates (Шаблоны) выберите ATL Server Project (Проект на основе ATL Server) [Обратите внимание, что в этом окне указан также шаблон ATL Server Web Service Project (Проект Web-службы на основе ATL Server) Выбор каждого из этих шаблонов приводит к появлению одного и того же мастера ATL Server Project Wizard (Мастер создания проектов на основе ATL Server), хотя и с небольшими отличиями. Этот мастер позволяет создать динамически подключаемую библиотеку DLL как для расширения интерфейса прикладного программирования Internet-сервера (ISAPI), так и для Web-приложения, но при выборе первого из указанных шаблонов задаются определенные значения параметров поддержки шаблона и проверки правильности Второй шаблон предназначен для создания проекта Web-службы, а не HTML-содержимого. ].
  4. В качестве имени проекта введите ATLServerApp.
  5. Введите имя каталога, предназначенного для хранения проекта. В данном случае используется каталог Demos (Демонстрационные примеры).
  6. Для запуска Мастера создания проектов на основе ATL Server ATL Server Project Wizard щелкните на кнопке ОК.
  7. Перед тем как продолжать работу с этим мастером, просмотрите на ее вкладке Overview (Общие сведения) значения параметров, заданные по умолчанию. Кроме того, посмотрите на вкладки Project Settings (Параметры проекта), Server Options (Параметры сервера), Application Options (Параметры приложения) и Developer Support Options (Параметры поддержки разработчика). Они показаны на рисунках 12.2, 12.3, 12.4, 12.5 и 12.6.
  8. Не изменяя этих заданных по умолчанию значений, щелкните на кнопке Finish (Готово).
  9. На рис. 12.2 показана страница Overview (Общие сведения) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard). Информацию на этой вкладке можно изменить с помощью других вкладок, которые называются Project Settings (Параметры проекта), Server Options (Параметры сервера), Application Options (Параметры приложения) и Developer Support Options (Параметры поддержки разработчика)

2.gif

Рис. 12.2. Вкладка Overview (Общие сведения) Мастера создания проектов на основе A TL Server (A TL Server Project Wizard)

Страница Project Settings (Параметры проекта) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard) показана на рис 12.3. Как обычно, можно изменить имя и расположение генерируемого проекта Кроме того, можно указать, следует ли генерировать динамически подключаемую библиотеку (DLL) Web-приложения (флажок Generate Web application DLL (Генерировать динамически подключаемую библиотеку (DLL) Web-приложения)). Эта библиотека реализует обработчик HTTP-запросов. Еще на данной странице можно указать, должно ли решение генерировать динамически подключаемую библиотеку (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI) (флажок Generate ISAPI extension DLL (Генерировать динамически подключаемую библиотеку (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI))). В этой библиотеке будет находиться код, предназначенный для отправки HTTP-запросов обработчику, расположенному в динамически подключаемой библиотеке (DLL) Web-приложения. Вы можете решить, надо ли объединять указанные два проекта в одну динамически подключаемую библиотеку (DLL) (флажок Generate combined DLL (генерировать объединенную динамически подключаемую библиотеку (DLL))). Ну и наконец, можно указать, надо ли генерировать автоматическую поддержку размещения, чтобы при создании вашего проекта автоматически выполнялась его установка на вашем Web-сервере (флажок Deployment support (Поддержка размещения)) [Атрибуты заставляют компилятор C++ вставлять тот или иной код в объектный файл ]. При выборе этой возможности можно указать виртуальный каталог, в котором должен быть установлен проект.

3.gif

Рис. 12.3. Вкладка Project Settings (Параметры проекта) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard)

Страница Server Options (Параметры сервера) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard) показана на рис. 12.4. Она позволяет добавлять в динамически подключаемую библиотеку (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI) несколько возможностей, таких, например, как поддержка кэширования, счетчики производительности и поддержка состояния.
Страница Application Options (Параметры приложения) Мастера создания проектов на основе ATL Server из (ATL Server Project Wizard) показана на рис. 12 5. Она позволяет добавлять в динамически подключаемую библиотеку (DLL) Web-приложения несколько возможностей, таких, например, как проверка правильности параметров запроса и переменных формы, а также поддержка замены шаблонных дескрипторов. Эта страница дает также возможность указать, что проект следует создавать в виде Web-службы (флажок Create as Web Service (Создать в виде Web-службы)), а не в виде Web-узла.
Страница Developer Support Options (Параметры поддержки разработчика) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard) показана на рис. 12.6. Она позволяет управлять вставкой комментариев TODO (флажок Generate TODO comments (Генерировать комментарии TODO)), генерированием использующего атрибуты кода C++ [Чтобы работала автоматическая поддержка размещения, надо установить информационный сервер Internet (IIS). ] (флажок Attributed code (Код с атрибутами)), а также поддержкой обработки утверждений пользователя и трассировки (флажок Custom assert and trace handling support (Поддержка пользовательской обработки утверждений и трассировки)).

4.gif

Рис. 12.4. Вкладка Server Options (Параметры сервера) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard)

5.gif

Рис. 12.5. Вкладка Application Options (Параметры приложения) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard)

6.gif

Рис. 12.6. Вкладка Developer Support Options (Параметры поддержки разработчика) Мастера создания проектов на основе ATL Server (ATL Server Project Wizard)

Теперь посмотрите на код, который создан Мастером создания проектов на основе ATL Server (ATL Server Project Wizard) с использованием всех значений, установленных по умолчанию. Solution Explorer (Поиск решения) покажет, что в решении имеется два проекта. Это проекты двух динамически подключаемых библиотек (DLL) одна— для Web-приложения, а другая — для расширения интерфейса прикладного программирования Internet-сервера (ISAPI). В решении нет проекта размещения, но если взглянуть на параметры проектов, то можно увидеть, что проекты размещаются как раз во время их создания.

  • ATLServerAppIsapi — проект динамически подключаемой библиотеки (DLL) расширения интерфейса прикладного программирования Internet-сервера (IS API).
  • ATLServerApp — проект динамически подключаемой библиотеки (DLL) Web-приложения.