Jak uzyskać adres IP klienta zdalnego w samohostowanym węźle SignalR? Według this question, możesz w pewnym momencie uzyskać go za pomocą Context.ServerVariables [], ale wydaje się, że brakuje go w najnowszej wersji SignalR.Uzyskaj adres IP klienta w samohostowanym węźle SignalR
5
A
Odpowiedz
5
Cóż, podczas grzebania w ostatnich zatwierdzeniach projektu SignalR (konkretnie this one), zauważyłem, jak to zrobić.
protected string GetIpAddress()
{
var env = Get<IDictionary<string, object>>(Context.Request.Items, "owin.environment");
if (env == null)
{
return null;
}
var ipAddress = Get<string>(env, "server.RemoteIpAddress");
return ipAddress;
}
private static T Get<T>(IDictionary<string, object> env, string key)
{
object value;
return env.TryGetValue(key, out value) ? (T)value : default(T);
}
5
nie próbowałem go z self-hosted SignalR Hub, ale z SignalR 2.0 Context.Request
nie ma Items
już (przynajmniej nie tego co widziałem). Rozgryzłem, jak to działa teraz. (Można zmniejszyć jeśli/część innego operatora do potrójnego, jeśli to lubisz.)
protected string GetIpAddress()
{
string ipAddress;
object tempObject;
Context.Request.Environment.TryGetValue("server.RemoteIpAddress", out tempObject);
if (tempObject != null)
{
ipAddress = (string)tempObject;
}
else
{
ipAddress = "";
}
return ipAddress;
}
+3
Inną formą tego jako jednolinijki jest 'Context.Request.Environment [" server.RemoteIpAddress "]. ToString();' –
Powiązane problemy
- 1. Uzyskaj adres IP klienta w Sinatrze?
- 2. Uzyskaj prawdziwy adres IP klienta w serwecie
- 3. Uzyskaj adres IP użytkownika
- 4. Uzyskaj aktualny adres IP klienta za zaporą, w języku Java
- 5. Uzyskaj adres IP klienta w serwisie internetowym RemObjects
- 6. Uzyskaj adres IP użytkownika w strukturze Zend
- 7. Jak zdobyć adres IP klienta?
- 8. Jak uzyskać adres IP klienta?
- 9. WICKET: jak uzyskać adres IP/adres IP klienta
- 10. Uzyskaj publiczny (zdalny) adres IP
- 11. Uzyskaj adres IP za pomocą skryptu akcji?
- 12. Adres IP klienta w ASP.NET (.asmx) webservices
- 13. Uzyskaj pełny adres URL wewnątrz koncentratora SignalR
- 14. Uzyskaj adres IP interfejsu w systemie Linux
- 15. Uzyskaj lokalny adres IP w Qt
- 16. Jak uzyskać adres IP klienta pulpitu zdalnego?
- 17. Jak uzyskać adres IP klienta/użytkownika?
- 18. Uzyskaj adres IP nadawcy z pakietu multiemisji
- 19. Adres IP w Silverlight
- 20. Uzyskaj adres IP z ciągu (Groovy)
- 21. Uzyskaj adres IP klienta w usłudze WCF hostowanej przy użyciu powiązań HTTPS 443.
- 22. Jak uzyskać adres IP klienta i adres IP serwera za pomocą szyn
- 23. Jak zdobyć adres IP klienta w Azure C#?
- 24. Jak uzyskać adres IP klienta w Javie HttpServletRequest
- 25. Jak uzyskać adres IP klienta w grze! framework 2.0?
- 26. Jak mogę uzyskać adres IP klienta łączącego w pliku Node.js?
- 27. Uzyskaj prawdziwy adres IP w lokalnym środowisku programistycznym Rails
- 28. Rozłączenie klienta SignalR .NET
- 29. Jak określić adres IP za pomocą klienta testowego Django?
- 30. Jak uzyskać adres IP klienta z samego SQL Server 2008?
pytania o oddział dev na StackOverflow ma sensu, ponieważ masy nie będzie miał pojęcia, co mówisz . Tylko FYI – davidfowl
@dfowler - Przyznane - ale starałem się unikać zgłaszania tych pytań jako "problemów" na twoim GitHubie, ponieważ widziałem, jak żujesz innych ludzi, próbując ich użyć do tego celu:). Czy jest lepsza opcja? –
Użyj github, gdy jest coś takiego. Nikt nie będzie w stanie tu odpowiedzieć. Oddział dev nie jest czymś, co można przewidzieć, więc odpowiedzi zawsze będą błędne i raczej nie będę ich publicznie udostępniać. – davidfowl