获取连接到asp应用程序的用户的IP地址

时间:2013-06-28 08:55:28

标签: c# asp.net asp.net-mvc-4 razor ip

我想知道如何让用户的IP连接到我的应用程序(asp.net mvc4)。 我试过了:

IPHostEntry ipHostEntry = Dns.GetHostByName(Dns.GetHostName());
IPAddress ipAddress = ipHostEntry.AddressList[0];

但它没有用。

那么如何修改代码片段以获取Ip`或连接用户?

1 个答案:

答案 0 :(得分:1)

这是来自@jamieHennerley建议的类似问题的转换后的C#代码。

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"];
        }