3

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

然后我尝试将一个自托管的 WCF 服务绑定到 IP5:80,但得到一个 AlreadyInUseException。我猜 WCF 试图绑定到整个 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
4

1 回答 1

2

找到了解决方案:

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

在此之后,自托管的 WCF 应用程序将不会尝试绑定到 80 上的全范围,只是 IP5!

于 2012-10-26T12:12:39.077 回答