CHttpServer non dispone di una classe base.
La classe CHttpServer, con CHttpServerContext, fornisce un mezzo per estendere le funzionalità di un server HTTP compatibile con ISAPI. La classe CHttpServer include la funzionalità Internet Server API (ISAPI) e vari tipi di richieste di client in grado di elaborare, tra cui estensione dll. CHttpServer non può elaborare le richieste dei client da file eseguibili Common Gateway Interface (CGI). Questi estensione dll sono a volte chiamate applicazioni Server Internet; Tuttavia, essi sono DLLs, piuttosto che EXEs. Per brevità, ci si riferisce a una DLL di estensione come un'ISA.
Per ulteriori informazioni sulla differenza tra CGI e ISA, vedere estensioni Internet Server API (ISAPI) nel manuale del programmatore di Visual C++.
Quando un server HTTP ISAPI riceve una richiesta da un browser client, un oggetto CHttpServer viene creato e inizializzato e viene creato un oggetto CHttpServerContext . Solo un'istanza di CHttpServer possa esistere per ogni modulo; Tuttavia, viene creato un oggetto di CHttpServerContext per ogni chiamata al server. Un oggetto CHttpServer utilizza più oggetti CHttpServerContext per l'esecuzione in un thread separato. Questo design consente simultaneo, più chiamate a CHttpServer l' oggetto da connessioni client diversi. L'oggetto CHttpServer comunica con il client o sul server tramite l'oggetto CHttpServerContext.
Quando il server viene caricato l'ISA, chiama l'ISA GetExtensionVersion per ottenere il numero di versione della specifica su cui si basa l'estensione del punto di ingresso. Per ogni richiesta del client, viene chiamata la funzione di membro HttpExtensionProc . Il valore predefinito (consigliato) implementazione di HttpExtensionProc leggerà i dati cliente e decidere quale azione deve essere presa. È possibile eseguire l'override di questa funzione membro per personalizzare l'implementazione.
Altre funzioni membro CHttpServer elaborano la richiesta del client, formattare le risposte e corrispondano con il cliente.
Quando un comando client viene ricevuto da un oggetto CHttpServer , le mappe di analisi associano il comando alla sua funzione membro della classe e i parametri. Mappa di sola analisi viene creato all'oggetto CHttpServer.
Per informazioni generali sull'utilizzo le macro mappa di analisi, vedere Mappe di analisi Internet Server API (ISAPI) . Per informazioni su come creare una mappa di analisi per gestire i comandi del client, vedere BEGIN_PARSE_MAP ed END_PARSE_MAP.
Vedere le descrizioni macro seguente per informazioni su come i comandi del client vengono mappati ai loro argomenti e funzioni membro:
Per ulteriori informazioni sull'utilizzo di mappe di analisi per gestire i comandi di client, vedere estensioni ISAPI: analizzare le mappe nel manuale del programmatore di Visual C++.
Per informazioni sul debug di dll di estensione di internet, vedere tecnica nota 63.
# include lt;afxisapi.h>
Membri della classe | Gerarchia Chart
Campioninbsp; Esempio MFC COUNTER | Esempio MFC WWWQUOTE
Vedere a&nchenbsp;CHtmlStream