CHttpServer має базового класу.
Клас CHttpServer, з CHttpServerContext, надає засоби для розширення функціональності ISAPI-сумісний HTTP-сервер. Клас CHttpServer обгортання функціональність Інтернет серверів (ISAPI) і може обробляти різні види запити клієнтів, включаючи розширення DLL. CHttpServer не може обробляти запити клієнтів з поширених шлюзового інтерфейсу (CGI) виконуваних файлів. Ці розширення DLL іноді називають інтернет-сервер додатків; Однак, вони DLL, а не EXEs. Для стислості ми називаємо розширенням DLL в ISA.
Більш докладну інформацію про різницю між CGI і ISA, перегляньте Інтернеті серверів (ISAPI) розширень у Visual c + + програміст керівництво.
Коли ISAPI HTTP-сервер отримує запит з клієнта браузера, створюється і ініціалізувати об'єкт CHttpServer і створюється об'єкт CHttpServerContext . Лише один екземпляр CHttpServer може існувати для кожного модуля; Однак, один CHttpServerContext об'єкт створюється для кожного виклику на сервері. CHttpServer об'єкт використовує декілька об'єктів CHttpServerContext запустити в окремі теми. Ця конструкція дозволяє одночасно, численні дзвінки на CHttpServer об'єкта на інший клієнт підключення. CHttpServer об'єкт взаємодіє з клієнтом або самого сервера через CHttpServerContext об'єкта.
Коли сервер завантажує ISA, він закликає ISA в точку входу GetExtensionVersion отримати номер версії специфікації, на якому базується на розширення. За кожен клієнт запит HttpExtensionProc член функція називається. За замовчуванням (рекомендовано) здійснення HttpExtensionProc буде читати дані клієнта і вирішити, які заходи повинні бути прийняті. Ви можете змінити налаштувати здійснення цієї функції-члена.
Інші CHttpServer функції члена обробити запит клієнта, форматування відповідей і листування з клієнтом.
Команди клієнтом, отримане CHttpServer об'єкт, карти розбору зв'язати команду функцію член класу і параметрів. Тільки один розбору карта створюється за CHttpServer об'єкта.
Переглянути Інтернет серверів (ISAPI) розбору карти для загальної інформації про використання макросів карта розбору. Див BEGIN_PARSE_MAP і END_PARSE_MAP для отримання інформації про те, як створити карту аналізу маніфесту для обробки команд клієнта.
Перегляньте наступні описи макросів дізнатися, як клієнт команди будуть зіставлені з функцій-членів та їх аргументи:
Більш докладну інформацію про використання розбору карт для обробки команд клієнта, перегляньте розширення ISAPI: розбору карти в Visual C++ програміста керівництво.
Відомості про налагодження Інтернет розширенням DLL знайти технічне Примітка 63.
# включити lt;afxisapi.h>
|&Nbsp членів класу ; Ієрархічна діаграма
Зразкиnbsp; MFC зразок ЛІЧИЛЬНИК | MFC зразок WWWQUOTE
Дивіться також CHtmlStream