如何在mvc中获取用户IP地址

时间:2014-04-28 07:55:56

标签: asp.net-mvc-4

我使用Mvc4,  我想获取谁正在使用我的网站的用户IP地址。 Based on this link 我可以获得用户主机地址,但我想获得确切的用户IP地址

2 个答案:

答案 0 :(得分:4)

取决于您所在的位置。

控制器:

ControllerContext.HttpContext.Request.UserHostAddress;

Razor查看:

@Request.UserHostAddress

型号:

不要使用System.Web.HttpContext,因为它非常难,即使不是不可能进行单元测试。而是通过控制器传递值。

Html Helper:

public static MvcHtmlString Ip(this HtmlHelper html)
{
    string html = html.ViewContext.RequestContext.HttpContext.Request.UserHostAddress;
    return MvcHtmlString.Create(html);
}

请记住,由于示例的简单性,我没有做任何空检查。

答案 1 :(得分:3)

尝试使用以下代码

 System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];