O que é o equivalente em Asp.Net 5 do velho HttpContext.Request.UserHostAddress?
Eu tentei this.ActionContext.HttpContext, mas não consegue encontrar o UserHostAddress nem as propriedades ServerVariables.
obrigado
O que é o equivalente em Asp.Net 5 do velho HttpContext.Request.UserHostAddress?
Eu tentei this.ActionContext.HttpContext, mas não consegue encontrar o UserHostAddress nem as propriedades ServerVariables.
obrigado
HttpRequest.UserHostAddressdá o endereço IP do cliente remoto. Em ASP.NET núcleo 1.0, você tem que usar o recurso de conexão HTTP para obter o mesmo. HttpContexttem o GetFeature<T>método que você pode usar para obter um recurso específico. Como exemplo, se você quiser recuperar o endereço IP remoto a partir de um método de ação do controlador, você pode fazer algo como isto.
var connectionFeature = Context
.GetFeature<Microsoft.AspNet.HttpFeature.IHttpConnectionFeature>();
if (connectionFeature != null)
{
string ip = connectionFeature.RemoteIpAddress.ToString();
}
Isso mudou desde que a resposta original foi publicado. Acesse agora via
httpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress
Para aspnet rc1-atualização1 I encontrado IP (com porta) no X-Forwarded-Forcabeçalho, que é o valor pode ser acedido a partir do controlador como HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault().
Se você tiver acesso ao HttpContext, você pode obter o Local / IpAddress remoto a partir da Connectionpropriedade assim:
var remote = this.HttpContext.Connection.RemoteIpAddress;
var local = this.HttpContext.Connection.LocalIpAddress;