1

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 アドレスを制限する方法はありますか? または、さらに良いことに、発見要求が発生したときに動的に承認/拒否できますか?

4

1 に答える 1

0

WS-Discoveryの最初の検出の側面は、ブロードキャストの原則に基づいて機能します。つまり、要求を受信したり応答したりすることはありません。一部には、メタデータの目的は、クライアントがどのサービスに適格であるかを区別できるようにすることです。さらに、適切なセキュリティを適用して、サービスレベルで着信要求を認証および承認する必要があります。最後に、部門が別々のサブネット上にある場合は、適切なネットワークインフラストラクチャが整っていることを前提として、サブネット間のUDPブロードキャストをフィルタリングできます。

于 2011-03-03T11:11:59.690 に答える