UserHostAddress em Asp.net Núcleo

votos
15

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

Publicado 25/11/2014 em 17:22
fonte usuário
Em outras línguas...                            


4 respostas

votos
12

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();
}
Respondeu 25/11/2014 em 17:41
fonte usuário

votos
10

Isso mudou desde que a resposta original foi publicado. Acesse agora via

httpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress
Respondeu 02/02/2016 em 03:43
fonte usuário

votos
0

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().

Respondeu 09/03/2016 em 10:37
fonte usuário

votos
1

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;
Respondeu 16/06/2017 em 13:21
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more