有时,我的 ASP.NET 应用程序在查询 Page.Request.UserHostAddress 时返回值“::1”。
关于何时返回正确的 IP 地址与何时返回格式不正确的字符串,我看不到任何模式。它将工作半天,然后随机停止工作一个小时。有什么想法吗?
编辑:
好的,这是 IPv6 的环回地址。:) 这导致了进一步的问题......何时/为什么在某些情况下使用 IPv6 而在其他情况下不使用?
有时,我的 ASP.NET 应用程序在查询 Page.Request.UserHostAddress 时返回值“::1”。
关于何时返回正确的 IP 地址与何时返回格式不正确的字符串,我看不到任何模式。它将工作半天,然后随机停止工作一个小时。有什么想法吗?
编辑:
好的,这是 IPv6 的环回地址。:) 这导致了进一步的问题......何时/为什么在某些情况下使用 IPv6 而在其他情况下不使用?
::1 是 IPv6 环回地址。相当于 IPv4 的 127.0.0.1。
这也是一个正确的 IP 地址,但它是 IPv6 地址而不是 IPv4 地址。
我相信您可以通过注释掉您的主机文件的 IPv6 localhost 条目来覆盖它。该文件位于:
C:\Windows\System32\drivers\etc\hosts
您需要将最后几行修改为如下所示:
127.0.0.1 本地主机
# ::1 本地主机
我相信 Visual Studio Web 服务器默认为 IPv6,可以关闭浏览器中的支持,这是一篇关于导致Firefox 和 IPv6性能问题的错误的帖子。
我猜你在服务器上,从远程机器上浏览你的网站和页面,你应该会看到客户端 IPv4 地址。