CHttpServer не имеет базовый класс.
Класс CHttpServer, с CHttpServerContext, предоставляет средства для расширения функциональных возможностей ISAPI-совместимый HTTP-сервера. Класс CHttpServer переносит функциональность Internet Server API (ISAPI) и может обрабатывать различные типы запросов клиентов, включая расширение DLL. CHttpServer не может обработать запросы клиентов от исполняемых файлов общий интерфейс шлюза (CGI). Эти расширения DLL иногда называют Интернет-сервер приложений; Однако они являются библиотеками DLL, а не exe-файлы. Для краткости мы называть DLL расширения ISA.
Более подробную информацию о разнице между CGI и ISA, см. расширений Internet Server API (ISAPI) в Руководстве Visual C++ программист.
Когда ISAPI HTTP-сервер получает запрос от клиента браузера, создается и инициализируется объект CHttpServer , и создается объект CHttpServerContext . Может существовать только один экземпляр CHttpServer для каждого модуля; Однако один объект CHttpServerContext создается для каждого вызова на сервере. Объект CHttpServer использует несколько CHttpServerContext объектов для запуска в отдельных потоках. Эта конструкция позволяет одновременно, множества вызовов для CHttpServer объекта соединения различных клиентов. Объект CHttpServer общается с клиентом или сервером сам через объект CHttpServerContext.
Когда сервер загружает ISA, он вызывает ISA в точке входа GetExtensionVersion для того чтобы получить номер версии спецификации, на котором базируется расширение. Для каждого запроса клиента вызывается функция-член HttpExtensionProc . По умолчанию (рекомендуется) осуществление HttpExtensionProc чтение данных клиента и решить, какие меры необходимо принять. Можно переопределить эту функцию-член для настройки осуществление.
Другие функции-члены CHttpServer обработать запрос клиента, форматирование ответов и переписку с клиентом.
Когда команда клиента получает объект CHttpServer , карты разбора связать команду для его функции-члена класса и параметры. Только один разбора карта создается каждый объект CHttpServer.
Смотрите Internet Server API (ISAPI) разбора карты для получения общей информации об использовании макросов карта разбора. Приведена информация о том, как создать карту разбора для обработки клиентских команд BEGIN_PARSE_MAP и END_PARSE_MAP.
Увидеть следующие описания макросов для сведений о как команды клиента сопоставляются для функций-членов и их аргументы:
Для получения дополнительных сведений об использовании карт разбора для обработки клиентских команд, см. расширения ISAPI: разбор карт в Руководстве по Visual C++ программист.
Сведения о отладку DLL расширения Интернет содержатся в разделе технические записки 63.
# include lt;afxisapi.h>
Члены класса | Иерархическая схема
Образцыnbsp; Образца MFC счетчик | Образца MFC WWWQUOTE
См. также CHtmlStream