ASP.NET アプリケーションのユーザーのローカル IP を取得する必要があり、次の方法を使用しています。
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.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"];
}
ただし、Web サイトを公開すると192.168.2.1
、ユーザーがどこから Web サイトを開いているかに関係なく、常に取得されます。
この問題を解決する方法を知っている人はいますか?