当IIS在http://localhost:80/MyService
上提供页面时,我可以运行Windows服务托管的WCF服务http://localhost:80
,并且两者都有效。
但互联网上的许多地方(如this和this)都说只有一个进程可以同时监听每个端口。
他们错了吗?
答案 0 :(得分:31)
HTTP.sys makes this possible。来自文章:
...因为WCF和IIS 6.0都使用内核模式HTTP堆栈(HTTP.sys),IIS 6.0可以与在同一台机器上运行的其他自托管WCF服务共享端口80 ...
HTTP.sys充当HTTP(端口80)流量的端口转发服务。
答案 1 :(得分:0)
可能是您在IIS中托管WCF服务。这样IIS就会根据URL将请求发送到WCF服务。
编辑: 也可能是WCF服务设置为进行端口共享,如下所示: http://msdn.microsoft.com/en-us/library/ms734772.aspx
EDIT2: 好的,我重读了您编辑过的问题,请参阅此答案中的链接: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/8993f7c5-1f78-4156-a131-d9b40af10d9a
“IP侦听列表允许WCF服务与使用端口的应用程序共存于机器的某些IP地址。如果IP侦听列表包含任何条目,HTTP Server API将仅绑定到那些IP地址列表指定。“