Я полностью плохо знаком со стеком ASP.NET MVC, и я задавался вопросом, что произошло с простым Объектом страницы и Запросом объект ServerVariables?
В основном я хочу для вытаскивания клиентского IP-адреса ПК, но мне не удается понять, как текущая структура MVC изменила все это.
Насколько я могу понять, большинство переменных объектов был заменен вариантами HttpRequest.
Кто-либо хочет совместно использовать некоторые ресурсы? Существует действительно море материала для изучения в мире MVC ASP.NET.:)
Например, у меня есть статический класс с этой текущей функцией. Как я получаю тот же результат с помощью 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;
}
И как я вызываю эту функцию от страницы контроллера?
Request.ServerVariables ["REMOTE_ADDR"]
должен работать - либо непосредственно в представлении, либо в теле метода действия контроллера (запрос является свойством Класс контроллера в MVC, а не на странице).
Это работает .. но вы должны публиковать на реальном IIS, а не на виртуальном.