Czy istnieje sposób na uzyskanie adresu IP klienta w Silverlight, jeśli moja formant Silverlight jest obsługiwany w HTML?Adres IP w Silverlight
Odpowiedz
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
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();
to nie jest dla html .. jego parametr przechodzącą w przypadku Asp.net .. nie jest to możliwe z HTML do mojej wiedzy –
@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. –
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() –
tak! Wiedziałem o idei metody usług sieciowych .... ale myślałem, że może być tam inne obejście .... –
Brak bezpośredniej pracy w mojej wiedzy. – NinethSense
Ale jaka jest twoja decyzja, dlaczego to jest ograniczenie w silverlight? –