Как я могу получить IP-адрес клиента в ASP.NET MVC?

Я совершенно новичок в стеке ASP.NET MVC, и мне было интересно, что случилось с простым объектом Page и объектом Request ServerVariables?

По сути, я хочу получить 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;
}

И как мне вызвать эту функцию со страницы контроллера?

Ответы на вопрос(6)

Ваш ответ на вопрос