man*_*u08 7 .net dns windows-server-2008 .net-4.5
我遇到的问题是我的.NET Web请求总是针对给定的CNAME命中相同的IP.CNAME绑定到多个IP地址,并且每次发生DNS查找时都会以随机顺序返回这些IP地址(通过运行nslookup确认).
我写了一个简单的应用来测试这个:
public void TestDNS()
{
while (true)
{
var ipAddress = Dns.GetHostAddresses("mywebsite.com").First().ToString();
Console.WriteLine(string.Format("Current: '{0}' at: '{1}'", ipAddress, DateTime.Now.ToLongTimeString()));
Thread.Sleep(1000);
}
}
Run Code Online (Sandbox Code Playgroud)
我在Server 2008 Datacenter,Server 2008 R2 Datacenter,Server 2012,Windows 7和Windows 8上运行了这个应用程序.所有计算机都有最新的更新和服务包.
唯一失败的机器是Server 2008.每台其他机器每分钟切换一次IP地址(TTL为1分钟).Server 2008永远不会切换(运行超过一个小时).
要清楚,在机器上运行nslookup和其他工具似乎表明DNS正在返回我期望的结果.此问题似乎特定于Server 2008上的.NET.
我已经尝试了相关答案中列出的项目但没有成功.
有任何想法吗?
作为解决方法,ping 报告是否存在相同问题?
http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx
如果您接受解决方法,另一种可能的解决方案是搜索解析主机名的第三方库/代码或通过 [System.Diagnostics.Process();] 调用命令行。
希望有帮助。