.net - 监听相同端口、不同 IP 地址、WCF + 非 WCF 应用程序

标签 .net wcf networking tcp

<分区>

我在具有 5 个虚拟 IP 地址 (IP1-IP5) 的机器的端口 IP1:80 上绑定(bind)了一个应用程序

然后我尝试将自承载 WCF 服务绑定(bind)到 IP5:80,但得到了一个 AlreadyInUseException。我猜想 WCF 正试图绑定(bind)到整个 IP 范围,尽管我指定了一个特定的范围。

这是已知行为吗?

            [start application that binds to IP1:80]


            string baseAddress = "http://IP5:80/binary";

            ServiceHost host = new ServiceHost(typeof(BinaryService),
                                               new Uri(baseAddress));


            host.AddServiceEndpoint(typeof(IBinaryService), GetBinding(), "")
                                   .Behaviors.Add(new WebHttpBehavior());

            host.Open(); // exception

最佳答案

找到解决方案:

Run netsh
Type http
Type add iplisten ipaddress=IP5:80

在此之后,自托管 WCF 应用将不会尝试绑定(bind)到 80 上的完整范围,只是 IP5!

关于.net - 监听相同端口、不同 IP 地址、WCF + 非 WCF 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13085065/

相关文章:

linux - 从 Vagrant 脚本设置 RHEL box 的 ip

java - 我可以运行这样的服务器/客户端程序吗?

.net - 从 HTML 标签汤生成 .NET XmlDocument 的库

c# - 判断两个不同的 PropertyInfo 是否来自同一个接口(interface)?

asp.net-mvc - 使用 WCF 服务处理 MVC 错误

wcf - 在所有服务方法上使用属性 (IOperationBehavior)

c# - 集合接口(interface)和 WCF

.NET 的 SslStream 总是协商我拥有的最不安全的密码。我怎样才能改变这个?

c# - WCF 服务 - 请求超出限制

linux - TcpStream 上的 std::io::BufReader 会导致数据丢失吗?