J'ai donc créé un serveur TCP \ HTTP (IN C#). Je veux lui donner un espace de noms sur mon port des années 80 près des autres serveurs HTTP que j'ai. Comment faire une telle chose (étape par étape)?Comment enregistrer votre application dans avec Http.sys?
Répondre
Regardez HTTP Server Tasks dans spec MSDN:
- Initialiser API de service HTTP, appelez HttpInitialize
- URL Inscription avec HTTP.SYS, appelez HttpAddUrlToUrlGroup
- Recevoir une demande, appelez HttpReceiveHttpRequest
- Envoyer un réponse, appel HttpSendHttpResponse
- Nettoyage après vous-même, appelez HttpRemoveUrl et HttpTerminate
Il existe également un échantillon d'application complet à HTTP Server Sample Application.
Comme vous pouvez le voir clairement, l'API HTTP.SYS est une API C destinée aux applications C. Vous ne devriez pas l'utiliser à partir de C#, et je recommanderais de ne pas invoquer l'API entière. Les applications managées ont la possibilité d'utiliser HTTP modules et d'étendre le traitement ASP.Net. Cette avenue prendra soin de nombreux détails nécessaires dans un serveur géré, comme l'activation, l'hébergement, le suivi des processus et le recyclage et ainsi de suite.
La façon dont vous devriez normalement interagir avec http.sys consiste à enregistrer une DLL ISAPI avec IIS. This is a good starting-point.
Alors ... Amm .. Que dois-je faire Stp par Step? Mon serveur HTTP \ TCP est écrit en C# donc je ne reçois vraiment pas toutes ces choses étranges ... – Rella
Vous ne pouvez pas directement enregistrer une application C# avec ISAPI, mais vous pouvez écrire une DLL ISAPI C++ qui appelle votre code C#. Je recommanderais contre cela, cependant, et plutôt regarder à l'aide de gestionnaires HTTP: http://msdn.microsoft.com/en-us/library/ms972953. Les instructions étape par étape ne sont pas vraiment appropriées ici, car il y a * beaucoup * d'étapes ... mais les liens que je vous ai donnés devraient être un bon point de départ. –
Est-il possible de trouver un fichier réel avec les informations HTTP.SYS pour éditer par hend * (ou au moins le lire) sans utiliser Httpcfg.exe? – Rella
Httpcfg.exe n'est rien d'autre qu'un shell fin autour de l'API de configuration HTTP. Tout ce que Httpcfg.exe peut faire est fait via l'API. Voir http://msdn.microsoft.com/en-us/library/aa364455%28v=VS.85%29.aspx –