DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 263558 - Last Review: August 19, 2011 - Revision: 2.1

This article was previously published under Q263558
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

On This Page

SUMMARY

In earlier versions of Internet Explorer (Internet Explorer 3.x), DNS host entries are cached for 24 hours by default. In many cases, this is too long. During this period, some host entries stop working because of change in the IP address of the remote server that was initially resolved.

Internet Explorer 4.x and later versions modify how DNS host entries are cached by decreasing the default time-out value to 30 minutes.

MORE INFORMATION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

In some cases, this new time-out setting is too short. If your environment has a number of clients that are connecting and are all performing DNS lookups every 30 minutes, you may experience an unwanted increase in network traffic. To modify this behavior, make the following registry change:
  1. Start Registry Editor.
  2. Locate and click the following key in the registry:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
  3. On the Edit menu, click Add Value, and then add the following registry values:
    Value Name: DnsCacheTimeout
    Data Type: REG_DWORD
    Radix: Decimal
    Value: (time in seconds)

    Value Name: ServerInfoTimeOut
    Data Type: REG_DWORD
    Radix: Decimal
    Value: (time in milliseconds)
  4. Quit Registry Editor.
For example, to set the time-out value to 10 minutes, use a value of 600 seconds.
Collapse this tableExpand this table
NoteYou must use both the registry values listed in step 3 to control the Internet Explorer internal resolver cache mechanism.
Collapse this tableExpand this table
NoteThese settings apply to Internet Explorer and Asynchronous WinInet calls only. These settings do not apply to Synchronous WinInet calls.

WORKAROUND

If you are making Synchronous calls in WinInet, the DNS timeouts do not work when set the way they are shown in the "More information" section. Asynchronous calls do pick up these values correctly.

Method 1

To work around this problem, restart the application that uses WinInet.

Method 2

Use the following code workaround. Open and close the handle that you receive with the InternetOpen call, and then open it again.

hOpen=::InternetOpen(.....)
InternetCloseHandle(hOpen);
hOpen=::InternetOpen(.....);
//
Now use the handle.
The DNS timeouts are applied.

APPLIES TO
  • Windows Internet Explorer 9
  • Windows Internet Explorer 8
  • Windows Internet Explorer 7
  • Microsoft Internet Explorer 6.0 Service Pack 1
  • Microsoft Internet Explorer 6.0, when used with:
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 4.0 Developer Edition
Keywords: 
kbhowto kbenv kbinfo KB263558
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support