首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于MVC 6 ASP.NET 5,IPAddress为空

对于MVC 6 ASP.NET 5,IPAddress为空
EN

Stack Overflow用户
提问于 2016-02-25 11:35:33
回答 1查看 500关注 0票数 1

如何在ASP.NET 5/MVC6 vNext中提取IPAddress?我使用的是RC1。

这不起作用,并且在非本地主机地址上返回null。

代码语言:javascript
运行
复制
if (httpContext.Connection.RemoteIpAddress != null)
{
     currentIp = httpContext.Connection.RemoteIpAddress.ToString();
}

这是可行的,但它很混乱:

代码语言:javascript
运行
复制
    private static string GetIPAddress(HttpRequest httpRequest)
    {
        string keys = string.Empty;
        foreach (string key in httpRequest.Headers.Keys)
        {
            keys = keys + key + "#";
        }

        string[] arrKeys = keys.Split('#');

        int x = 0;
        foreach (string value in httpRequest.Headers.Values)
        {
            if (arrKeys[x].Trim() == "X-Forwarded-For")
            {
                string[] arrIP = value.Split(':');
                if (arrIP[0] != null)
                {
                    // ip found
                    return arrIP[0];
                }
            }
            x++;
        }

        // no ip found
        return string.Empty;
    }
EN

回答 1

Stack Overflow用户

发布于 2016-02-25 11:43:05

这目前不能像预期的那样工作,因为有一个bug阻止正确解析正确的标头。您可以从他们的存储库中跟踪此issue

在他们解决这个问题之前,您必须使用变通方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35617740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档