所以我创建了一个 TCP\HTTP 服务器(C# 语言)。我想在我拥有的其他 HTTP 服务器附近的 80 端口上为其提供命名空间。如何做这样的事情(一步一步)?
最佳答案
看看HTTP Server Tasks在 MSDN 规范中:
- 初始化HTTP服务API,调用HttpInitialize
- 使用 HTTP.SYS 注册 URL,调用 HttpAddUrlToUrlGroup
- 收到请求,请调用 HttpReceiveHttpRequest
- 发送回复,请调用 HttpSendHttpResponse
- 自己清理后,请调用 HttpRemoveUrl和 HttpTerminate
HTTP Server Sample Application 上还有一个成熟的应用程序示例.
正如您可以清楚地看到的,HTTP.SYS API 是一个用于 C 应用程序的 C API。您不应该在 C# 中使用它,并且我建议不要调用整个 API。托管应用程序可以选择使用 HTTP modules并扩展 ASP.Net 处理。该途径将处理托管服务器所需的许多细节,例如激活、托管、进程监控和回收等等。
关于windows - 如何将您的应用程序注册到 Http.sys 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589588/