CHttpServer

CHttpServer n'a pas une classe de base.

La classe CHttpServer, avec CHttpServerContext, fournit un moyen d'étendre la fonctionnalité d'un serveur HTTP ISAPI compatible. La classe CHttpServer encapsule la fonctionnalité Internet Server API (ISAPI) et peut traiter divers types de demandes du client, y compris extension DLL. CHttpServer ne peut pas traiter les demandes de client de fichiers exécutables Common Gateway Interface (CGI). Ces extension DLL sont parfois appelés Applications de serveur Internet ; Cependant, ils sont des dll, plutôt que les fichiers exe. Pour souci de brièveté, nous renvoyons à une DLL d'extension comme une ISA.

Pour plus d'informations sur la différence entre CGI et ISA, voir Extensions Internet Server API (ISAPI) dans le Guide du programmeur Visual C++.

Lorsqu'un serveur ISAPI HTTP reçoit une demande d'un navigateur client, un objet CHttpServer est créé et initialisé, et un objet CHttpServerContext est créé. Une seule instance de CHttpServer peut exister pour chaque module ; Cependant, un objet CHttpServerContext est créé pour chaque appel vers le serveur. Un objet CHttpServer utilise plusieurs objets CHttpServerContext pour exécuter dans des threads séparés. Cette conception permet simultanée, plusieurs appels à la CHttpServer objet par des connexions de clients différents. L'objet CHttpServer communique avec le client ou le serveur lui-même par l'intermédiaire de l'objet CHttpServerContext.

Lorsque le serveur charge le ISA, il appelle l'ISA au point d'entrée GetExtensionVersion pour obtenir le numéro de version de la spécification sur lequel repose l'extension. Pour chaque demande du client, la fonction membre HttpExtensionProc est appelée. La valeur par défaut (recommandé) mise en œuvre de HttpExtensionProc va lire les données des clients et décider quelle action doit être prise. Vous pouvez substituer cette fonction membre pour personnaliser la mise en œuvre.

Autres fonctions de membre CHttpServer traitent la demande du client, les réponses de format et correspondant avec le client.

Lorsqu'une commande client est reçue par un objet CHttpServer , les cartes d'analyse syntaxique d'associer la commande à sa fonction de membre de classe et les paramètres. Parse qu'une seule carte est créée par l'objet CHttpServer.

Voir Internet Server API (ISAPI) analyser des cartes pour des informations générales sur l'utilisation de macros carte d'analyse. Voir BEGIN_PARSE_MAP et END_PARSE_MAP pour plus d'informations sur la façon de créer une carte d'analyse syntaxique pour gérer les commandes client.

Voir les descriptions de macro suivant pour savoir comment les commandes client sont mappées aux fonctions membres et leurs arguments:

Pour plus d'informations sur l'utilisation des cartes d'analyse syntaxique pour gérer les commandes des clients, voir Extensions ISAPI : analyser des cartes dans le Guide du programmeur Visual C++.

Pour plus d'informations sur le débogage de DLL d'extension internet, consultez Technical Note 63.

# include lt;afxisapi.h>

Membres de la classe |  ; Graphique de la hiérarchie

Échantillons denbsp ; Exemple MFC compteur | Exemple MFC WWWQUOTE

Voir aussi  ;CHtmlStream

Index