CHttpServer

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

Index