我使用下面的代码尝试了相同的操作。由于我使用Postman从本地计算机上测试了我的代码,因此结果仍为::1
,部署后的结果为null
。
private string GetIPAddress()
{
HttpContext context = HttpContext.Current;
string ipAddress = context?.Request?.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
return addresses[0];
}
return context?.Request?.ServerVariables["REMOTE_ADDR"];
}