Как Internet Explorer използва кеша за DNS хост записи

Прилага се за: Internet Explorer

Предупреждение: Ако използвате редактора на системния регистър неправилно, можете да предизвикате сериозни проблеми, които да наложат преинсталиране на операционната система. Microsoft не гарантира, че можете да решите проблемите, възникнали вследствие на неправилното използване на редактора на системния регистър. Използвайте редактора на системния регистър на свой собствен риск.

Обобщена информация


В по-ранните версии на Internet Explorer (Internet Explorer 3.x), DNS хост записи се кешират 24 часа по подразбиране. В повечето случаи това е прекалено дълъг. Този период някои записи за хост престане да функционира поради промяна в IP адреса на отдалечения сървър, който е бил първоначално разрешен. Internet Explorer 4.x и по-нови версии промените как са кеширани DNS записи за хост чрез намаляване на стойността на изчакване по подразбиране за 30 минути.

Повече информация


Предупреждение: Ако използвате редактора на системния регистър неправилно, можете да предизвикате сериозни проблеми, които да наложат преинсталиране на операционната система. Microsoft не гарантира, че можете да решите проблемите, възникнали вследствие на неправилното използване на редактора на системния регистър. Използвайте редактора на системния регистър на свой собствен риск. В някои случаи тази нова настройка на времето за изчакване е недостатъчен. Ако вашата среда клиенти, които се свързвате и всички резултати DNS заявки на всеки 30 минути, можете да наблюдавате нежелани увеличение на мрежовия трафик. За да промените това поведение, направете следните промени регистър:
  1. Стартирайте редактора на системния регистър.
  2. Намерете и щракнете върху следния ключ в системния регистър:
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet настройки
  3. В менюто Редактиране щракнете върху Добавяне на стойности добавете следните стойности в системния регистър:
    Име на стойност: Въведете DnsCacheTimeoutData: REG_DWORDRadix: DecimalValue: (време в секунди) име на стойност: ServerInfoTimeOutData тип: REG_DWORDRadix: DecimalValue: (време в милисекунди)
  4. Затворете редактора на системния регистър.
Например за да зададете стойността на времето за изчакване до 10 минути, използвайте стойност 600 секунди.
ЗабележкаТрябва да използвате и двете стойности в системния регистър, изброени в стъпка 3 за контрол на механизма за кеширане на вътрешния анализатор Internet Explorer.
ЗабележкаТези настройки се прилагат за Internet Explorer и асинхронни WinInet разговори. Тези настройки не се прилагат за синхронно WinInet разговори.

Заобиколно решение


Ако създавате синхронни разговори в WinInet, DNS изчакване не работи, когато зададете начина, по който те се показват в раздела "Допълнителна информация". Асинхронни повиквания изберете тези стойности правилно.

Метод 1

За да заобиколите този проблем, рестартирайте приложението, което използва WinInet.

Метод 2

Използвайте следния код на решение. Отворете и затворете манипулатор, които получавате с InternetOpen разговор и го отворете отново.
hOpen=::InternetOpen(.....)InternetCloseHandle(hOpen);hOpen=::InternetOpen(.....);// 
Използвате манипулатора. DNS изчакване се прилагат.