Есть ли способ получить IP-адрес клиента в Silverlight, если мой элемент управления Silverlight размещен в HTML?IP-адрес в Silverlight
ответ
Насколько я знаю, прямых путей для этого нет. Возможно, вы можете создать WebMethod для достижения этого. Или некоторые другие трюки.
Проверить эту тему, есть некоторые предложения: http://silverlight.net/forums/t/34744.aspx
Попробуйте перечисленные ниже методы (сначала следует сделать трюк), или см. here для получения дополнительной информации.
Request.ServerVariables(”REMOTE_HOST”)
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
Request.UserHostAddress()
Request.UserHostName()
string strHostName = System.Net.Dns.GetHostName();
string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
это не для HTML .. его передача параметров в случае Asp.net .. это невозможно из HTML к моему знанию –
@ Крис Я попытался все методы, я использую веб-службы ASP.Net (.asmx) с помощью Silverlight. так как нет способа найти IP-адрес клиента в Silverlight, поэтому мне пришлось регистрировать его на конце службы. все вышеописанные методы работают нормально в моей локальной системе, но когда я публикую свою службу на рабочем сервере. он начинает давать ошибки. –
Ошибка: ссылка на объект не установлена в экземпляр объекта. StackTrace: в System.Web.Hosting.ISAPIWorkerRequestInProc.GetAdditionalServerVar (индекс Int32) в System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable (имя String) на System.Web.Hosting.ISAPIWorkerRequest.GetRemoteAddress() в System.Web .HttpRequest.get_UserHostAddress() –
yep! я знал о методе метода webservice .... но я подумал, что может быть и другое обходное решение .... –
Нет прямой работы, насколько мне известно. – NinethSense
Но каково ваше мнение, почему это ограничение в Silverlight? –