我有C#代码需要x3更长的执行W2008R2与W7
代码非常简单(获取主机名):
Stopwatch sw = new Stopwatch(); sw.Start(); IPHostEntry ip = Dns.Resolve(Dns.GetHostName()); string s = ip.HostName; sw.Stop(); Console.WriteLine(sw.ElapsedTicks); Console.WriteLine(s);
我在W2008上停止了一些服务。 可能是我意外停止了一些有助于传播DNS通知或其他内容的东西…
有什么想法吗?
编辑:我很抱歉,我没有告诉。 x3的意思是:在W7上它需要<1ms,在W2008上是2或9ms …这不是真的关于超时。
当您尝试使用ping或nslookupparsing程序之外的名称(或任何其他名称)时会发生什么?
无论操作系统如何,应用程序在两台计算机上的运行都应该完全相同,所以这可能是一个DNS问题。 如果机器的名称未在机器使用的DNS服务器中注册,或者机器无法在其configuration的所有DNS服务器上访问,或者服务器无法parsing名称,或者( 这里有很多其他可能的问题 ),查询将失败和/或超时,只有这样它才能使用本地hosts文件parsing。
你一定要检查你的DNSconfiguration。