WCF服务如何监听与IIS相同的端口?

时间:2010-01-14 21:52:34

标签: wcf iis sockets tcp communication

当IIS在http://localhost:80/MyService上提供页面时,我可以运行Windows服务托管的WCF服务http://localhost:80,并且两者都有效。

但互联网上的许多地方(如thisthis)都说只有一个进程可以同时监听每个端口。

他们错了吗?

2 个答案:

答案 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地址列表指定。“