Architecture Net



         

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


Если в проекте динамически подключаемой библиотеки (DLL) Web-приложения вы откроете заголовочный файл ATLServerApp.h, то увидите определение класса CATLServerAppHandler. Атрибут request_handler (обработчик запросов) говорит о том, что класс будет открыт как обработчик запросов на основе ATL Server. Этот обработчик будет называться Default (Стандартный). В классе CATLServerAppHandler используется взятый для примера метод OnHello, имеющий атрибут tag_name (имя дескриптора), в котором указано имя Hello (Привет). Вскоре вы увидите, как эти атрибуты связаны с реальным клиентским запросом. Обратите внимание, насколько легко с помощью такого элемента данных, как m_HttpResponse (Http-ответ), отправлять клиенту данные, предназначенные для замены дескрипторов, используя для этого оператор вставки потока.

[ request_handler("Default") ] // По умолчанию class CATLServerAppHandler
{
private: // частный
// Поместить сюда частные элементы
protected: // защищенный
// Поместить здесь защищенные члены
public:
// Поместить здесь общедоступные члены
HTTP_CODE'ValidateAndExchange() {
// TODO: Put all initialization and validation ...
// TODO: Поместить весь код инициализации
// и проверки правильности...
// Установить совместимый тип
m_HttpResponse.SetContentType("text/html"); // текст/HTML


return HTTP_SUCCESS; }
protected: // защищенный
// Вот пример того, как использовать замену... [ tag_name(name="Hello") ] // Привет HTTP_CODE OnHello(void) {
m_HttpResponse « "Hello World!"; // Привет, мир!


return HTTP_SUCCESS;
}
};
// класс CATLServerAppHandler

Динамически подключаемая библиотека (DLL) Web-приложения работает вместе с .srf-файлом. На самом деле указанный файл является HTML-файлом, в котором могут находиться переменные дескрипторы данных, расположенные внутри двойных фигурных скобок. Эти дескрипторы являются заглушками, которые при обработке запроса будут заменяться процессором шаблонов библиотеки шаблонных классов ATL В каждую заглушку вставлен метод из того класса, который реализуется в динамически подключаемой библиотеке (DLL) Web-приложения.




Содержание  Назад  Вперед