对 Internet Explorer 的支持已于 2022 年 6 月 15 日结束
在某些版本的 Windows 10 上通过Microsoft Edge 更新,将永久停用 Internet Explorer 11。 如果访问的任何网站需要 Internet Explorer 11,则可以在 Microsoft Edge 中使用 Internet Explorer 模式重新加载它。 建议使用 Microsoft Edge 实现更快、更安全、更现代的 Web 浏览体验。
警告:如果使用注册表编辑器不正确,可能会导致严重问题,可能需要重新安装操作系统。 Microsoft 无法保证可以解决错误使用注册表编辑器导致的问题。 根据自己的风险使用注册表编辑器。
摘要
在早期版本的 Internet Explorer (Internet Explorer 3.x) 中,DNS 主机条目默认缓存 24 小时。 在许多情况下,这太长了。 在此期间,由于最初解析的远程服务器的 IP 地址发生更改,某些主机条目停止工作。
Internet Explorer 4.x 及更高版本通过将默认超时值减少到 30 分钟来修改 DNS 主机条目的缓存方式。
更多信息
警告:如果使用注册表编辑器不正确,可能会导致严重问题,可能需要重新安装操作系统。 Microsoft 无法保证可以解决错误使用注册表编辑器导致的问题。 根据自己的风险使用注册表编辑器。
在某些情况下,此新的超时设置太短。 如果你的环境有多个正在连接的客户端,并且每 30 分钟执行一次 DNS 查找,则网络流量可能会意外增加。 若要修改此行为,请进行以下注册表更改:
-
启动注册表编辑器。
-
在注册表中找到并单击以下密钥:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
-
在 “编辑” 菜单上,单击 “添加值”,然后添加以下注册表值:
值名称:DnsCacheTimeout
数据类型:REG_DWORD
Radix:Decimal
值: (秒)
值名称:ServerInfoTimeOut
数据类型:REG_DWORD
Radix:Decimal
值: (时间(以毫秒为单位)) -
退出“注册表编辑器”。
例如,若要将超时值设置为 10 分钟,请使用 600 秒的值。
注意 |
必须使用步骤 3 中列出的两个注册表值来控制 Internet Explorer 内部解析程序缓存机制。 |
注意 |
这些设置仅适用于 Internet Explorer 和异步 WinInet 调用。 这些设置不适用于同步 WinInet 调用。 |
解决方法
如果在 WinInet 中进行同步调用,则在设置“详细信息”部分中显示的方式时,DNS 超时将不起作用。 异步调用确实正确地选取了这些值。
方法 1
若要解决此问题,请重启使用 WinInet 的应用程序。
方法 2
使用以下代码解决方法。 打开并关闭通过 InternetOpen 调用接收的句柄,然后再次打开它。
hOpen=::InternetOpen(.....)
InternetCloseHandle(hOpen);
hOpen=::InternetOpen(.....);
//
现在使用句柄。
将应用 DNS 超时。