SignalR Bekommen die Anrufer-IP-Adresse
Ist es möglich, dass der Aufrufer die IP-Adresse durch die HubCallerContext? Oder muss ich mich durch HttpContext.Aktuelle...ServerVariables um es zu bekommen?
- So ist die Antwort Nein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem mit
HttpContext.Request.Current.UserHostAddress
ist, dassHttpContext.Request.Current
ist null, wenn Sie selbst-hosting.Den Weg, Sie bekommen es in der aktuellen version von SignalR (die " dev " Zweig wie der 12/14/2012) lautet in etwa so:
Sie verwendet werden, um in der Lage zu bekommen es durch
Context.ServerVariables
:War das viel einfacher, aber Sie entfernt es aus Gründen, die ich nicht so ganz verstehen.
Mit SignalR 2.0,
Context.Request
nicht dieItems
mehr (zumindest nicht das, was ich gesehen habe). Ich herausgefunden, wie es funktioniert. (Sie können reduzieren die if /else-Teil, um einen ternären operator, wenn Sie das mögen.)Context.Request.Environment["server.RemoteIpAddress"]
Andere Möglichkeit ist
Haben Sie versucht, HttpContext.Anfrage.UserHostAddress ? Siehe dieses Beispiel hier http://jameschambers.com/blog/continuous-communication-bridging-the-client-and-server-with-signalr
Glaube nicht, dass seine ganz, was Sie erhofft hatten aber das problem lösen sollte dennoch.
Laut source code Nein, es gibt keine solche Eigenschaft in HubCallerContext.