2015-12-18 4 views
6

zuvor in anderen Version von asp.net, habe ich diese Eigenschaften von HttpRequest:Holen Sie die IP-Adresse des Clients

Request.ServerVariables["REMOTE_ADDR"] 
Request.UserHostAddress 

Wie kann ich das gleiche in ASP.NET-Core erreichen?

Antwort

8

gesucht werden, können Sie IHttpContextAccessor verwenden:

private IHttpContextAccessor _accessor; 
public Foo(IHttpContextAccessor accessor) 
{ 
    _accessor = accessor; 
} 

Jetzt sind Sie auf diese Weise“

var ip = _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); 
+4

Ich kann diese Arbeit nicht auf DNX (volle clr), irgendwelche Vorschläge bekommen? RemoteIpAddress Eigenschaft ist null in meiner App ... –

+0

@MarcinZablocki Sie müssen es in Startup registrieren: 'services.AddSingleton ();' – tarn

8

HttpContext.Connection.RemoteIpAddress ist die Eigenschaft, die Sie

0

Und Sie können

verwenden Anfrage erhalten IP-Adresse
var GetIp = Request.HttpContext.Connection.RemoteIpAddress.ToString();