2016-03-29 8 views
0

Ich möchte die IP-Adresse des Benutzers abrufen, der sich mit C# .Net Framework 4.6 angemeldet hat.Wie bekomme ich UserHostAddress in .Net Framework 4.6

Ich habe den folgenden Code geschrieben:

var ipaddress = System.Web.HttpContext.Current.Request.UserHostAddress; 

aber die IP-Adresse enthält :: 1. Wie kann ich die vollständige Adresse erhalten? Ich teste nur den Code im localhost. Ich habe IIS7 installiert. Und .Net 2015 Framework 4.6.

+2

':: 1 'ist die IPv6-Loopback-Adresse für localhost, also was Sie bekommen, wird vollständig erwartet. – vcsjones

+0

(und auch, Sie bekommen IPv6-Loopback, nicht v4) – rbm

Antwort

1

::1 ist eine korrekte Adresse.

Ich bin nur nur den Code im localhost testen.

localhost hat zwei IP-Adressen unter Windows (normalerweise). 127.0.0.1 und :: 1. Die erste ist die IPv4-Loopback-Adresse, und die letztere ist die IPv6-Version, abgekürzt.

IPv6 wird standardmäßig für localhost verwendet, und da Sie einen IPv6-fähigen Browser verwenden, verwendet es die IPv6-Adresse.

Wenn Sie Ihre Webanwendung so einrichten, dass sie über ein lokales Intranet verfügbar ist, versuchen Sie, von einem anderen Computer darauf zuzugreifen, dann wäre die IP-Adresse die IP des "Remote" -Computers.

+0

Aber hier in Framework 4.6 Fehler auftritt, ich denke, der obige Code nicht mit Framework 4.6.Need zu alternativen Code, der FW4.6 unterstützen. –

Verwandte Themen