2009-05-13 2 views

ответ

4

Насколько я знаю, прямых путей для этого нет. Возможно, вы можете создать WebMethod для достижения этого. Или некоторые другие трюки.

Проверить эту тему, есть некоторые предложения: http://silverlight.net/forums/t/34744.aspx

+0

yep! я знал о методе метода webservice .... но я подумал, что может быть и другое обходное решение .... –

+0

Нет прямой работы, насколько мне известно. – NinethSense

+0

Но каково ваше мнение, почему это ограничение в Silverlight? –

-1

Попробуйте перечисленные ниже методы (сначала следует сделать трюк), или см. 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(); 
+0

это не для HTML .. его передача параметров в случае Asp.net .. это невозможно из HTML к моему знанию –

+0

@ Крис Я попытался все методы, я использую веб-службы ASP.Net (.asmx) с помощью Silverlight. так как нет способа найти IP-адрес клиента в Silverlight, поэтому мне пришлось регистрировать его на конце службы. все вышеописанные методы работают нормально в моей локальной системе, но когда я публикую свою службу на рабочем сервере. он начинает давать ошибки. –

+0

Ошибка: ссылка на объект не установлена ​​в экземпляр объекта. StackTrace: в System.Web.Hosting.ISAPIWorkerRequestInProc.GetAdditionalServerVar (индекс Int32) в System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable (имя String) на System.Web.Hosting.ISAPIWorkerRequest.GetRemoteAddress() в System.Web .HttpRequest.get_UserHostAddress() –