Как получить имя компьютера клиента из WCF asmx C#?Как получить имя компьютера клиента из WCF asmx C#?
Я пробовал этот способ, но он вообще не работает.
Это лучшее решение, которое я думал, но это не работает ... хорошо результат вернуть имя компьютера Клиента, но иногда она возвращает имя компьютера А и иногда это имя компьютера B .
string[] computer_name = System.Net.Dns.GetHostEntry( HttpContext.Current.Request.ServerVariables["remote_addr"]) .HostName.Split(new Char[] { '.' }); logData.ComputerName = computer_name[0].ToString();
В результате компьютерное имя из WCF не является клиентом.
System.Environment.MachineName
Тот же результат, как 1, но возвращает
Empty
то.System.Net.Dns.GetHostByName("LocalHost").HostName.
Возвращает
Null
.OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name
Return IP, IP и пользователь клиента
loginRequest.ServerVariables["remote_addr"], Request.ServerVariables["remote_host"], Request.ServerVariables["remote_user"]
Является ли клиент-машина в той же сети, что и клиентская машина? –
Проверьте эту ссылку, если это поможет - http://stackoverflow.com/questions/5034660/how-to-retrieve-the-clients-machine-name-from-within-a-wcf-operation-contract – Neeraj
Это * может * быть выполнимым в контексте интрасети. Невозможно в Интернете. В каком контексте вы работаете и что вы планируете делать с этой информацией *? –