我是ASP.NET MVC堆栈的新手,我想知道简单的Page对象和Request ServerVariables对象发生了什么?基本上,我想拉出客户端PC的IP地址,但是我无法理解当前的MVC结构如何改变了所有这些。据我了解,大多数变量对象已被HttpRequest变体替换。有人愿意分享一些资源吗?在ASP.NET MVC世界中确实有很多东西可以学习。:)例如,我有一个带有当前函数的静态类。使用ASP.NET MVC如何获得相同的结果?public static int getCountry(Page page){ return getCountryFromIP(getIPAddress(page));}public static string getIPAddress(Page page){ string szRemoteAddr = page.Request.ServerVariables["REMOTE_ADDR"]; string szXForwardedFor = page.Request.ServerVariables["X_FORWARDED_FOR"]; string szIP = ""; if (szXForwardedFor == null) { szIP = szRemoteAddr; } else { szIP = szXForwardedFor; if (szIP.IndexOf(",") > 0) { string [] arIPs = szIP.Split(','); foreach (string item in arIPs) { if (!isPrivateIP(item)) { return item; } } } } return szIP;}以及如何从控制器页面调用此函数?
3 回答
![?](http://img1.sycdn.imooc.com/545868cd00013bbb02200220-100-100.jpg)
手掌心
TA贡献1942条经验 获得超3个赞
Request.ServerVariables["REMOTE_ADDR"] 应该可以工作-直接在视图中或在控制器操作方法主体中(请求是MVC中Controller类的属性,而不是Page中的属性)。
它正在工作..但是您必须在真正的IIS而不是虚拟IIS上发布。
- 3 回答
- 0 关注
- 869 浏览
添加回答
举报
0/150
提交
取消