3

5 つの仮想 IP アドレス (IP1-IP5) を持つマシンのポート IP1:80 にアプリケーション バインドがあります。

次に、セルフホステッド WCF サービスを IP5:80 にバインドしようとしましたが、AlreadyInUseException が発生しました。特定の IP 範囲を指定しているにもかかわらず、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 に答える