Frage

In einer Controller-Aktion einer CastleMVC Anwendung, wie kann ich den IP-Adresse des Benutzers?

I denkt in asp.net MVC wäre es Request.ServerVariables["REMOTE_ADDR"] sein, aber ich kann kein Äquivalent in Burg finden.

(Ich bin mir bewusst potenzielle Proxy-Ausgabe des usw., die Adresse, das in der Anforderung gemeldet ist in Ordnung)

War es hilfreich?

Lösung

Schloss Einschienenbahn, sowie ASP.NET MVC, dient als elegante MVC Haut über die ASP.NET-Laufzeit.

Als solches alles, was mit der ASP.NET-Laufzeit durchgeführt werden kann (außer WebForms spezielle Sachen wie Viewstate) kann auch mit ASP.NET MVC und mit Einschienen erfolgen.

So können Sie immer die aktuelle ASP.NET des greifen Httpcontext mit der statischen HttpContext.Current Methode.

Von Einschienenbahn, können Sie auch die .UnderlyingContext Eigenschaft IEngineContext verwenden, um die ASP.NET Httpcontext zugreifen zu können.

Insbesondere in Einschienen, können Sie die Kunden greifen IP berichtet die Bequemlichkeit Eigenschaft UserHostAddress auf dem aktuellen IRequest verwendet wird.

z. innerhalb einer Aktion des Controllers:

var clientIP = Request.UserHostAddress;

Andere Tipps

Ich glaube, sein:

HttpContext.Request.ServerVariables["REMOTE_ADDR"]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top