Architecture Net


Динамически подключаемая библиотека (DLL) Web-приложения - часть 2



Чтобы заглушкам в двойных скобках, находящимся в .srf-файлах, поставить в соответствие те или иные методы из динамически подключаемой библиотеки (DLL) вашего Web-приложения, в ATL Server предусмотрены необходимые для этого атрибуты. Каждый такой метод генерирует HTML-код, который должен заменять соответствующие дескрипторы заглушек из . srf -файла.


В Solution Explorer (Поиск решения) откройте узел проекта ATLServerApp, а затем откройте файл ATLServerApp.srf. Обратите внимание, что в этом файле содержатся текст и показанные внизу дескрипторы замены. Теперь сравните ATLServerApp. srf с кодом из показанного выше файла ATLServerApp.h. Вы должны заметить— класс CATLServerAppHandler помечен атрибутом request_handler как "Default" ("Стандартный"), что соответствует находящемуся внизу дескриптору обработчика, содержащему слово Default (Стандартный). Кроме того, данный дескриптор указывает имя динамически подключаемой библиотеки (DLL) Web-приложения, а именно ATLServerApp . dll. Это немаловажно, потому что в одном и том же виртуальном каталоге может находиться любое количество динамически подключаемых библиотек (DLL), относящихся к Web-приложению. В результате, для замены дескриптора этот . srf-файл будет использовать класс CATLServerAppHandler.


Кроме того, обратите внимание, что в показанном выше коде атрибут tag_name (имя дескриптора) указывает имя "Hello" ("Привет"). Данный дескриптор соответствует находящемуся внизу дескриптору из файла . srf, содержащему слово Hello (Привет). А это, в свою очередь, означает, что дескриптор Hello (Привет) будет заменен текстом, записанным выше в элемент данных m_HttpResponse с помощью метода OnHello [В одном . srf-файле для Web-приложения можно указывать больше одной динамически подключаемой библиотеки (DLL). Подробнее об этом говорится в документации по ATL Server ]. В коде пусковой системы, сгенерированном мастером, "Default" ("Стандартный") и "Hello" ("Привет") используются исключительно как примеры, которым мы можем следовать. А при добавлении своего собственного кода мы вполне можем для атрибутов обработчика запросов и атрибутов имен дескрипторов использовать какие-то другие, более значимые имена.

{{handler ATLServerApp.dll/Default}}
This is a test: {{Hello}}
({{обработчик ATLServerApp.dll/Default}}
Это - испытание: {{Привет}})


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




- Начало -  - Назад -  - Вперед -



Книжный магазин