如何在ASP.NET 5/MVC6 vNext中提取IPAddress?我使用的是RC1。
这不起作用,并且在非本地主机地址上返回null。
if (httpContext.Connection.RemoteIpAddress != null)
{
currentIp = httpContext.Connection.RemoteIpAddress.ToString();
}这是可行的,但它很混乱:
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;
}发布于 2016-02-25 11:43:05
这目前不能像预期的那样工作,因为有一个bug阻止正确解析正确的标头。您可以从他们的存储库中跟踪此issue。
在他们解决这个问题之前,您必须使用变通方法。
https://stackoverflow.com/questions/35617740
复制相似问题