我完全是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;
}
那么我如何从控制器页面调用这个函数?