为什么System.Net.HttpListener会创建一个新进程?

时间:2009-10-24 03:08:47

标签: c# .net http webserver httplistener

为什么HttpListener类创建新的Web服务器进程,而不是使用普通的Socket和HTTP实现?

2 个答案:

答案 0 :(得分:4)

HttpListener是http.sys(HTTP Server API)的包装,可在Windows XP SP2或更高版本中使用。它指示http.sys监听对特定虚拟主机/端口的HTTP请求,并在有请求时,将响应数据“提供”给http.sys,然后将其返回给客户端。

明显的优势是性能以及与其他进程(如Internet Information Server(IIS))共享IP地址和端口的可能性。这意味着您可以在进程中运行虚拟主机,在IIS中运行同一IP和端口上的虚拟主机。

答案 1 :(得分:1)

我之前从未使用过这个类,但我的猜测是HttpListener实际上是将自己连接到在Windows中运行的现有Web服务器进程?只是一个猜测。