2010-09-22 2 views

Répondre

4

Vous pouvez vérifier l'adresse IP de l'appelant. Si c'est de la machine locale devrait être "127.0.0.1". Vous pouvez obtenir l'adresse IP de l'appelant (l'adresse distante) à partir de l'objet OperationContext. Plus d'infos ici: http://www.danrigsby.com/blog/index.php/2008/05/21/get-the-clients-address-in-wcf/

+0

+1 pour le lien sur la façon d'obtenir l'adresse à distance, la recherche de documents pendant des jours –

1

Je Dressez une liste au démarrage de toutes les adresses IP connues sur la machine locale en utilisant quelque chose comme ....

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); 
     } 
} 

puis vérifiez la addresslist voir si elle contient l'adresse IP 'distante'. Cela devrait couvrir toute demande se présentant à partir de la machine locale avec un add-add IP autre que 127.0.0.1.

Questions connexes