2015-12-18 13 views
6

in precedenza in altri versione di asp.net, ho usato queste proprietà di HttpRequest:Ottenere l'indirizzo IP del client

Request.ServerVariables["REMOTE_ADDR"] 
Request.UserHostAddress 

Come posso raggiungere lo stesso in ASP.NET core?

risposta

8

È possibile utilizzare IHttpContextAccessor:

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

ora si ottiene l'indirizzo IP in questo modo"

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

Non riesco a ottenere questo lavoro su DNX (full clr), eventuali suggerimenti? La proprietà RemoteIpAddress è null nella mia app ... –

+0

@MarcinZablocki Devi registrarlo in Startup: 'services.AddSingleton ();' – tarn

8

HttpContext.Connection.RemoteIpAddress è la proprietà che stai cercando

0

ed è possibile utilizzare Richiesta

var GetIp = Request.HttpContext.Connection.RemoteIpAddress.ToString();