IIS 7.5 - C# 输入字符串的格式不正确

本文关键字:字符串 格式 不正确 输入 IIS | 更新日期: 2023-09-27 17:56:49

我是C#的初学者,现在我遇到了这个问题来恢复我的本地主机网络的IP地址。

.CS:

LocalIp = Request.ServerVariables["REMOTE_ADDR"];
Response.Write("IP Address: " + LocalIp.ToString());
Response.End();

等待 127.0.0.1,但在输出中我有:

IP Address: ::1

我该怎么办?在视窗7中,IIS的版本是7.5。提前感谢,

编辑:通过查看默认的 Windows 主机文件来解决,C:'Windows'System32'drivers'etc'hosts (open with notepad)在以前版本的Windows中,我们找到了"localhost"的以下活动条目

127.0.0.1       localhost

但在 Windows 7 和 Windows 2008 R2 中,hosts 文件实际上是空的。虽然"localhost"有IPv4和IPv6条目,但两者都被注释掉而禁用。

# 127.0.0.1       localhost
# ::1             localhost

我已经启用了,现在一切都在工作。

127.0.0.1       localhost

IIS 7.5 - C# 输入字符串的格式不正确

这是一个

IPv6地址。如果连接是使用 IPv6 建立的,那么这就是您将获得的值。

看起来不错。 ::1是IPv6说127.0.0.1localhost的方式。

实际上,::1 是本地主机的正确 IPv6 地址。您期待的是 IPv4 版本。看看这篇文章,4guysfromrolla.com:

https://web.archive.org/web/20211020102847/https://www.4guysfromrolla.com/articles/071807-1.aspx

试试这个。也许它会帮助你。

        IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
        foreach (IPAddress Addr in localIPs)
        {                
            if (Addr.AddressFamily == AddressFamily.InterNetwork)
            {
                Response.Write("IP Address: " + Addr );
            }
        }