我有一个连接到 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 地址发现它?或者,更好的是,它可以在发现请求发生时动态批准/拒绝它们吗?