Como registrar seu aplicativo em com http.sys?
-
25-09-2019 - |
Pergunta
Então, criei um servidor TCP HTTP (em C#). Quero dar o nome de nome na porta dos anos 80 perto de outros servidores HTTP que eu tenho. Como fazer isso (passo - por passo)?
Solução
Olhe para Tarefas do servidor HTTP Na especificação MSDN:
- Inicialize a API de serviço HTTP, ligue Httpinitialize
- Registre URLs com http.sys, ligue HttpaddurlTourlGroup
- Receba uma solicitação, ligue Httpreceivehttprequest
- Envie uma resposta, ligue HttpsendHttpResponse
- Limpeza depois de si mesmo, ligue Httpremoveurl e Httpterminate
Há também uma amostra de aplicação totalmente completa em Aplicativo de amostra de servidor HTTP.
Como você pode ver claramente, a API http.sys é uma API C destinada a aplicativos C. Você não deveria usá -lo em C#, e eu recomendaria não ser o Pingoking toda a API. Aplicativos gerenciados têm a alternativa de usar Módulos HTTP e estender o processamento ASP.NET. Essa avenida cuidará de muitos detalhes necessários em um servidor gerenciado, como ativação, hospedagem, monitoramento e reciclagem de processos e assim por diante.
Outras dicas
A maneira como você normalmente interagia com o HTTP.SYS é registrando uma DLL ISAPI com o IIS. Este é um bom ponto de partida.