2009-06-06 70 views
7

有时,当查询Page.Request.UserHostAddress时,我的ASP.NET应用程序返回值为“:: 1”。Page.Request.UserHostAddress格式无效

我不能看到任何模式,当它返回一个正确的IP地址,而不是返回格式错误的字符串。它将工作半天,然后随机停止工作一个小时。有什么想法吗?

编辑:

好吧,这回送地址的IPv6。 :)这导致了进一步的问题......什么时候/为什么在某些场合使用IPv6而不使用其他场合?

回答

12

:: 1是IPv6环回地址。相当于IPv4的127.0.0.1。

1

这也是一个正确的IP地址,但它是一个IPv6地址而不是IPv4地址。

0

我相信Visual Studio Web Server默认为IPv6,可以关闭浏览器的支持,下面是一篇关于导致Firefox and IPv6性能问题的bug的文章。

1

我相信你可以通过注释掉你的主机文件中的IPv6 localhost条目来覆盖它。该文件是:

C:\ WINDOWS \ SYSTEM32 \ DRIVERS \等\主机

你要修改的最后几行看起来像这样:

127.0.0.1本地主机

# :: 1本地主机

0

我猜你是在服务器上,浏览你的网站和网页从远程机器,你应该可以看到客户端的IPv4地址。