Wie Sie Ihre Anwendung in \ mit Http.sys registrieren?
-
25-09-2019 - |
Frage
erstellt, damit ich einen TCP \ HTTP-Server (in C #). Ich mag geben, um es auf meinem 80er-Port in der Nähe zu anderen HTTP-Server-Namespace ich habe. Wie so etwas (Schritt - Schritt) tun?
Lösung
Lesen Sie HTTP Server-Tasks in MSDN-Spezifikation:
- Initialisieren HTTP-Service-API, rufen Sie HttpInitialize
- Register URLs mit HTTP.SYS, Call HttpAddUrlToUrlGroup
- Sie erhalten eine Anfrage, rufen Sie HttpReceiveHttpRequest
- Senden Sie eine Antwort, rufen Sie HttpSendHttpResponse
- Cleanup nach urself, rufen Sie HttpRemoveUrl und HttpTerminate
Es ist ein auch ein vollwertiges Anwendung Probe bei HTTP Server-Beispielanwendung .
Wie man deutlich sehen kann, HTTP.SYS API ist ein C-API, die für C-Anwendungen. Sie sollten es nicht von C # verwendet werden, und ich würde empfehlen, gegen die gesamte API pInvoking. Verwaltete Anwendungen haben die Alternative der Verwendung von HTTP-Module und erweitern die ASP.Net-Verarbeitung. Dieser Weg wird viele Details kümmern in einem verwalteten Server benötigt, wie Aktivierung, Hosting, Prozessüberwachung und das Recycling und so weiter und so weiter.
Andere Tipps
Die Art und Weise würden Sie normalerweise interact mit http.sys ist durch einen ISAPI-DLL mit IIS registrieren. Dies ist ein guter Ausgangspunkt .