我使用Mvc4, 我想获取谁正在使用我的网站的用户IP地址。 Based on this link 我可以获得用户主机地址,但我想获得确切的用户IP地址
答案 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"];