を使用すると問題が発生しHttpContext.Current.Request.UserHostAddress
ます。同じコンピューターとナビゲーターから呼び出すと、「192.168.0.17」(IPv4) が返される場合と「fe80::99be:a05d:7938:1c30%8」(IPv6) が返される場合があります。
常にIPv4を返すにはどうすればよいですか?
を使用すると問題が発生しHttpContext.Current.Request.UserHostAddress
ます。同じコンピューターとナビゲーターから呼び出すと、「192.168.0.17」(IPv4) が返される場合と「fe80::99be:a05d:7938:1c30%8」(IPv6) が返される場合があります。
常にIPv4を返すにはどうすればよいですか?
4GuysFromRollaのこの投稿をチェックして、それがまったく役立つかどうかを確認してください。これがあなたが探している情報だと思います。
http://aspnet.4guysfromrolla.com/articles/071807-1.aspx
〜md5sum〜
public static string GetIP4Address()
{
string IP4Address = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
if (IP4Address != String.Empty)
{
return IP4Address;
}
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
return IP4Address;
}
誰かがハッキングした解決策を見つけました。それがうまくいくかどうかは言えません、tho =)
http://www.eggheadcafe.com/software/aspnet/30078410/request-object.aspx