WCF サービスに接続し、WCF 4.0 検出を使用するデスクトップ アプリがあります。サービスを検出可能にするコードは次のようになります。
public static void MakeServiceHostDiscoverable(ServiceHost sh)
{
IServiceBehavior Beh = new ServiceDiscoveryBehavior();
sh.Description.Behaviors.Add(Beh);
ServiceEndpoint Endp = new UdpDiscoveryEndpoint();
sh.AddServiceEndpoint(Endp);
}
最近、このアプリは同じ会社の 2 つの異なる部門で使用されています。各部門には独自のサーバーがあり、その部門のクライアントは、この部門のサーバーのみを検出する必要があります。現在、クライアントは企業ネットワーク内のすべてのサーバーを表示できます。
サービスが検出できる IP アドレスを制限する方法はありますか? または、さらに良いことに、発見要求が発生したときに動的に承認/拒否できますか?