访问Asp.Net 5中的客户端IP地址(REMOTE_ADDR)

本文关键字:地址 REMOTE ADDR IP 客户端 Net Asp 访问 | 更新日期: 2023-09-27 18:25:13

我试图在asp.net中获取ServerVariables["REMOTE_ADDR"]

这是我的旧代码(webapi 2):

private Logn GLog(System.Web.Routing.RequestContext requestContext)
{
    Ln Log = new LogInformation();
    Lg.IP = requestContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
    Lg.RemoteIP = requestContext.HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    ............................

根据我的经验,他们将"路由.RequestContext"更改为

vNext版本中的"IHttpContextAccessor"。

如何使用IHttpContextAccessor实现上述结果?

这导致我在"ServerVariables"部分出现错误:

private Logn GLog(IHttpContextAccessor requestContext)
{
    Ln Log = new LogInformation();
    Lg.IP = requestContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
}

访问Asp.Net 5中的客户端IP地址(REMOTE_ADDR)

您需要使用ConnectionInfo.RemoteIpAddress

private Logn GLog(IHttpContextAccessor contextAccessor)
{
    Ln Log = new LogInformation();
    Lg.IP = contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
    // ...
}