Come registrare la vostra applicazione in \ con Http.sys?
-
25-09-2019 - |
Domanda
Così ho creato un server TCP \ HTTP (in C #). Voglio dare ad essa spazio dei nomi porto il mio 80 di prossimità ad altri server HTTP che ho. Come fare cosa del genere (passo - passo)?
Soluzione
HTTP Operazioni server in MSDN spec:
- Inizializza il servizio di HTTP API, chiamare HttpInitialize
- Registra URL con HTTP.SYS, chiamata HttpAddUrlToUrlGroup
- Ricevere una richiesta, chiamare HttpReceiveHttpRequest
- Invia una risposta, chiamata HttpSendHttpResponse
- Pulizia dopo urself, chiamata HttpRemoveUrl e HttpTerminate
C'è un anche un esempio di applicazione a tutti gli effetti a HTTP Server Sample Application .
Come si può vedere chiaramente, HTTP.SYS API è un'API C destinato ad applicazioni C. Non si dovrebbe essere utilizzando da C #, e consiglio contro pInvoking l'intera API. applicazioni gestite hanno l'alternativa di usare HTTP moduli ed estendere l'elaborazione ASP.Net. Questo viale si prenderà cura di molti dettagli necessari in un server gestito, come attivazione, l'hosting, il monitoraggio dei processi e il riciclaggio e così via e così via.
Altri suggerimenti
Il modo in cui si farebbe normalmente interagiscono con http.sys è registrando una DLL ISAPI in IIS. Questo è un buon punto di partenza .