服务怎么知道来电者?
答
你可以检查调用者的IP。如果是从本地机器应该是“127.0.0.1”。 您可以从OperationContext对象获取调用者的IP(远程地址)。 这里更多的信息: http://www.danrigsby.com/blog/index.php/2008/05/21/get-the-clients-address-in-wcf/
答
我在使用类似的本地计算机上所有已知的IP地址,启动造册....
NetworkInterface[] nis = NetworkInterface.GetAllNetworkInterfaces();
List<string> addressList = new List<string>();
foreach (NetworkInterface ni in nis)
{
IPInterfaceProperties iip = ni.GetIPProperties();
UnicastIPAddressInformationCollection unis = iip.UnicastAddresses;
foreach (UnicastIPAddressInformation uni in unis)
{
string address = uni.Address.ToString();
addressList.Add(address);
}
}
然后检查AddressList中看到如果它包含'远程'IP地址。 这应该涵盖任何请求从本地机器以IP地址而不是127.0.0.1呈现的请求。
+1关于如何获取远程地址的链接,搜索文档的天数 – 2011-12-16 17:38:30