配置Windows DNS解析程序缓存

几个月前我在Stack Overflow上的 asked this question并没有得到任何有用的答案.也许这里有人有更好的信息.

请注意,我在谈论客户端DNS解析器缓存.此消息与Windows DNS服务器无关.

我有一个C#程序,可以执行很多DNS解析.因为HTTPWebRequest组件不允许我更改Host标头,所以我无法创建自己的内部DNS缓存.所以我必须依赖Windows DNS缓存,这似乎不适合更改.

关于Windows Server 2003中的DNS缓存注册表设置有一个相当不错的TechNet article,但我无法证明在XP,Server 2003,Vista或Server 2008中设置它们可以做任何事情.我通过a找到的所有其他页面谷歌搜索引用该页面或解释它,有时不正确.

Windows的ipconfig命令有一个/ displaydns开关,用于输出缓存的内容.据我所知,这是确定DNS缓存大小的唯一方法.在我使用2 GB内存的32位Windows XP盒子上进行的实验中,无论我将DNS缓存注册表值设置为什么,我总是在缓存中最终得到30到40个项目 – 即使在进行了数千次DNS解析之后.在具有16 GB内存的64位Windows 2008计算机上,我总是在缓存中获得270到300个项目.

我很难过.我不知道答案是什么,但我认为以下情况之一是这样的:

>无法更改DNS解析程序缓存的大小.
>这是可能的,但文档是错误的.
>文档尽可能正确,但它不完整.
>文档是正确和完整的,但我太笨了,无法理解它.
>记录的注册表项实际上更改了缓存的大小,但ipconfig没有向我显示缓存中的所有条目.

有人能告诉我是否可以在Windows XP,Vista或Server 2008中配置DNS解析器缓存的大小?

另一种验证方法是查看线路上流动的DNS流量.即,如果您的应用程序在下午2点对domainX进行查询,并且您在跟踪中的下午2点没有看到相应的DNS数据包,则使用客户端缓存解析该名称.

我知道,确认缓存大小是一种复杂的方式.我同意应该有更好的方法来证实这一点.

尝试在Microsoft官方论坛中拍摄问题或尝试向网络团队发送电子邮件

这里. http://blogs.msdn.com/wndp/

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...