In che modo si ottiene l'indirizzo IP del client remoto in un hub SignalR self-hosted? Secondo this question, è possibile ottenerlo utilizzando Context.ServerVariables [], ma sembra che manchi dall'ultima versione di SignalR.Ottieni l'indirizzo IP del client nell'hub SignalR self-hosted
5
A
risposta
5
Bene, nel sondare i recenti commit sul progetto SignalR (in particolare this one), ho notato come farlo.
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
non ho provato con il self-hosted SignalR Hub, ma con SignalR 2.0, Context.Request
non ha la Items
più (almeno non quello che ho visto). Ho capito, come funziona ora. (È possibile ridurre il se/parte altro da un operatore ternario, se vi piace che.)
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
Un'altra forma di questo come one-liner è 'Context.Request.Environment [" server.RemoteIpAddress "]. ToString();' –
Problemi correlati
- 1. Ottieni l'indirizzo IP del client in JSP
- 2. Ottieni l'indirizzo IP reale del client su Heroku
- 3. Ottenere l'indirizzo IP del client
- 4. SignalR: disconnessione client
- 5. Trasporto di fallback predefinito del client SignalR
- 6. Ottieni l'indirizzo IP del cliente in Sinatra?
- 7. Ottieni l'indirizzo IP dei client in un servizio web RemObjects
- 8. Sicurezza WCF tramite l'indirizzo IP del client
- 9. Come identificare l'indirizzo IP del client richiedente?
- 10. Kohana accesso client ip
- 11. indirizzo IP client
- 12. Client SignalR con più connessioni
- 13. Chiama client specifico da SignalR
- 14. Ottieni nome host dall'indirizzo IP
- 15. Ottieni l'IP del client reale in un servlet
- 16. Ottieni l'indirizzo IP dell'utente
- 17. Ottieni l'indirizzo IP del client in un servizio WCF ospitato tramite associazioni HTTPS 443
- 18. Le chiamate del client SignalR falliscono per alcune lingue
- 19. Utilizzo del client SignalR tramite un proxy Web
- 20. Come determinare la disconnessione del server dal client SignalR?
- 21. Signalr Client versione 1.5, la versione del server undefined
- 22. Rilevamento dell'indirizzo IP del client e del server
- 23. Ottieni l'ISP di un IP in node.js
- 24. Ottieni l'indirizzo IP dell'utente nel framework zend
- 25. Ottieni l'indirizzo IP usando Action Script?
- 26. ws JAX ottenere IP Client
- 27. disconnetti il client dal lato server signalr
- 28. Client SignalR .NET che si disconnette
- 29. Ottieni l'indirizzo IP locale in Qt
- 30. SignalR server -> chiamata client non funzionante
Fare domande circa il ramo dev su StackOverflow ha poco senso come le masse non hanno idea di cosa si sta parlando . Solo una FYI – davidfowl
@dfowler - Concessa - ma ho cercato di evitare di sollevare queste domande come "problemi" sul tuo GitHub, come ho visto che mastichi altre persone per aver provato a usarle a tale scopo: -). C'è un'opzione migliore? –
Usa github quando è qualcosa di simile. Nessuno sarà in grado di risponderti qui. Il ramo dev non è qualcosa che puoi prevedere, quindi le risposte saranno sempre sbagliate e preferisco non averle in pubblico – davidfowl