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
这是一个
IPv6地址。如果连接是使用 IPv6 建立的,那么这就是您将获得的值。
看起来不错。 ::1
是IPv6说127.0.0.1
或localhost
的方式。
实际上,::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 );
}
}