2009-05-13 22 views

Odpowiedz

4

O ile mi wiadomo, nie ma na to bezpośredniego sposobu. Być może możesz stworzyć WebMethod, aby to osiągnąć. Lub inne sztuczki.

Sprawdź ten wątek, istnieją pewne sugestie: http://silverlight.net/forums/t/34744.aspx

+0

tak! Wiedziałem o idei metody usług sieciowych .... ale myślałem, że może być tam inne obejście .... –

+0

Brak bezpośredniej pracy w mojej wiedzy. – NinethSense

+0

Ale jaka jest twoja decyzja, dlaczego to jest ograniczenie w silverlight? –

-1

Wypróbuj metody wymienione poniżej (najpierw należy wykonać sztuczkę) lub zobacz here, aby uzyskać więcej informacji.

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

to nie jest dla html .. jego parametr przechodzącą w przypadku Asp.net .. nie jest to możliwe z HTML do mojej wiedzy –

+0

@Chris Próbowałem wszystkie metody, używam serwisów ASP.Net (.asmx) z Silverlight. ponieważ nie ma sposobu na znalezienie adresu IP klienta w Silverlight, dlatego musiałem zalogować to na końcu usługi. wszystkie powyższe metody działają dobrze w moim systemie lokalnym, ale kiedy publikuję moją usługę na serwerze produkcyjnym. zaczyna dawać błędy. –

+0

Błąd: Odwołanie do obiektu nie jest ustawione na instancję obiektu. StackTrace: co System.Web.Hosting.ISAPIWorkerRequestInProc.GetAdditionalServerVar (indeks Int32) w System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable (String name) w System.Web.Hosting.ISAPIWorkerRequest.GetRemoteAddress() w system.Web .HttpRequest.get_UserHostAddress() –