Wie kann ich die IP-Adresse des Clients in ASP.NET MVC abrufen?

Ich bin völlig neu im ASP.NET MVC-Stapel und habe mich gefragt, was mit dem einfachen Page-Objekt und dem Request ServerVariables-Objekt passiert ist.

rundsätzlich möchte ich die IP-Adresse des Client-PCs abrufen, verstehe jedoch nicht, wie sich die aktuelle MVC-Struktur all dies geändert ha

Soweit ich verstehen kann, Die meisten variablen Objekte wurden durch die HttpRequest-Varianten ersetzt.

Möchten Sie Ressourcen teilen? In der ASP.NET MVC-Welt gibt es wirklich einiges zu lernen. :)

Zum Beispiel habe ich eine statische Klasse mit dieser aktuellen Funktion. Wie erhalte ich mit ASP.NET MVC das gleiche Ergebnis?

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;
}

Und wie rufe ich diese Funktion von der Controllerseite aus auf?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage