私はクライアントのIPアドレスを取得しようとしています
HttpContext.Request.UserHostAddress;
ただし、::1
を返します。
これを解決するには?
::1
はlocalhost
のためのものです。たぶん this が役に立つかもしれません。
これはバグではありません。 localhost から IPv6 が有効なマシンに接続しています。 ::1
はループバックアドレスです- 二重コロンは「省略されたゼロ」を意味します 。したがって、このアドレスはアドレス1に対応します。
あなたが開発している場合新しいソフトウェア、私はあなたに勧めますnot IPv6を無効にします。サポートを実装する最も簡単な時間は、最初から適切であり、回避策に時間を費やすことは、必然的に避けられないことを延期する努力を無駄にするだけです。
これがバグではないことは事実ですが、問題がうまく説明され、「解決」されている this link をチェックすることができます。ユーザーがWindows Server 2008で::1
行をコメントすることで実行しているアプリケーションのいくつかの問題を修正したため、問題の動作はオペレーティングシステムによって異なると述べています。 hostsファイル、彼はWindows 7でコメント解除する必要がありました。
それを解決できたことを願っています!幸運を!
実際にはローカルホストでアプリケーションを実行しているバグではありません。ローカルホストのIPを提供しているだけで、ipv6形式です。