【发布时间】:2014-06-13 16:04:43
【问题描述】:
我正在使用 Mvc4, 我想获取正在使用我的网站的用户 IP 地址。 Based on this link 我可以获取用户主机地址,但我想获取确切的用户 IP 地址
【问题讨论】:
标签: asp.net-mvc-4
我正在使用 Mvc4, 我想获取正在使用我的网站的用户 IP 地址。 Based on this link 我可以获取用户主机地址,但我想获取确切的用户 IP 地址
【问题讨论】:
标签: asp.net-mvc-4
取决于你所在的地方。
控制器:
ControllerContext.HttpContext.Request.UserHostAddress;
剃刀视图:
@Request.UserHostAddress
型号:
不要使用 System.Web.HttpContext,因为它很难进行单元测试,如果不是不可能的话。相反,通过您的控制器传递值。
HTML 助手:
public static MvcHtmlString Ip(this HtmlHelper html)
{
string html = html.ViewContext.RequestContext.HttpContext.Request.UserHostAddress;
return MvcHtmlString.Create(html);
}
请记住,由于示例的简单性,我没有进行任何空值检查。
【讨论】:
尝试使用以下代码
System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
【讨论】: