Comment le service peut-il connaître l’appelant?

J’ai un service WCF. Comment savoir si l’appel à mon service provient d’un ordinateur local ou d’un ordinateur du réseau?

Merci Adrya

Vous pouvez vérifier l’adresse IP de l’appelant. S’il s’agit de la machine locale, il devrait s’agir de “127.0.0.1”. Vous pouvez obtenir l’adresse IP de l’appelant (l’adresse distante) à partir de l’object OperationContext. Plus d’informations ici: http://www.danrigsby.com/blog/index.php/2008/05/21/get-the-clients-address-in-wcf/

Je comstackrais 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 addressList = new List(); foreach (NetworkInterface ni in nis) { IPInterfaceProperties iip = ni.GetIPProperties(); UnicastIPAddressInformationCollection unis = iip.UnicastAddresses; foreach (UnicastIPAddressInformation uni in unis) { ssortingng address = uni.Address.ToSsortingng(); addressList.Add(address); } } 

puis vérifiez la liste d’adresses pour voir si elle contient l’adresse IP «distante». Cela devrait couvrir toute requête présentée par la machine locale avec une adresse IP autre que 127.0.0.1.