Domanda

In un azione di controllo di un'applicazione CastleMVC, come posso ottenere l'indirizzo IP dell'utente?

I pensare in asp.net mvc sarebbe Request.ServerVariables["REMOTE_ADDR"], ma non riesco a trovare un equivalente in Castello.

(Sono consapevole del potenziale del problema del proxy, ecc, l'indirizzo che viene segnalato nella richiesta va bene)

È stato utile?

Soluzione

Castello di monorotaia, così come ASP.NET MVC, servono come un elegante pelle MVC sopra il runtime di ASP.NET.

In quanto tale, tutto ciò che può essere fatto con il runtime ASP.NET (tranne che per WebForms cose specifiche come ViewState) può essere fatto anche con ASP.NET MVC e con monorotaia.

Quindi, si può sempre prendere la corrente di ASP.NET HttpContext utilizzando lo statica HttpContext.Current metodo.

Da monorotaia, è anche possibile utilizzare la proprietà .UnderlyingContext del IEngineContext per accedere al ASP.NET HttpContext.

In particolare, in Monorotaia, si può afferrare del cliente ha riferito IP utilizzando la proprietà UserHostAddress convenienza sulla corrente IRequest.

es. entro l'azione di un controller:

var clientIP = Request.UserHostAddress;

Altri suggerimenti

Credo che la sua:

HttpContext.Request.ServerVariables["REMOTE_ADDR"]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top