Прерывистое «удаленное имя не может быть разрешено»? - PullRequest
8 голосов
/ 09 апреля 2011

У меня есть приложение ASP.NET, которое я часто использую для HttpWebRequest чтения содержимого веб-страницы. С удаленным адресом проблем нет, и мое приложение всегда работает нормально.

Хотя я ничего не меняю, иногда (примерно раз в день) я получаю эту ошибку:

the remote name could not be resolved.

Почему ранее разрешенное DNS-имя иногда не может быть разрешено?

Ответы [ 2 ]

10 голосов
/ 09 апреля 2011

Прерывистый характер этого будет чрезвычайно трудно разрешить, и вместо решения кода потребуется изменение конфигурации.(подсказка: прочитайте все;)

Я бы предположил, что DNS удаленных серверов настроен на истечение довольно часто.Вероятно, ежедневно или даже каждые 12 часов или около того.Это настройка TTL (время жизни).Администраторы иногда устанавливают этот уровень на искусственно низкий уровень, если им нужна возможность быстрого перемещения сайта на новый сервер.

Чтобы определить, как часто он истекает, перейдите в командную строку и запустите:

nslookup
set debug
www.theserverdomain.com

В верхней части этого раздела будет находиться надпись «ЗАПИСИ АВТОРИТЕТА» с элементом под ним «ttl».

Теперь, (и я делаю обоснованное предположение здесь), что, вероятно, происходит, когда вы запрашиваете у своего DNS-сервера разрешение этого имени хоста, на котором ваш сервер будет кэшировать это значение.

Однако по истечении этого срока вашему серверу придется связаться с другим вышестоящим сервером, чтобы получить разрешение IP-адреса, называемое переадресацией DNS.Если между вами и удаленным сервером много переходов, ИЛИ если один из DNS-серверов между сайтами перегружен, он может прервать тайм-аут и отправить полученное вами сообщение.

Если это правда, тогдаЕдинственное, что вы можете сделать, это жестко закодировать комбинацию DNS и IP-адресов в файле хостов вашего веб-сервера.Обычно это C:\Windows\System32\drivers\etc и это файл с именем «hosts».Существует пример того, как правильно редактировать это в самом файле.

После того, как вы создадите отображение хоста в этом файле, вашему веб-серверу больше не придется связываться с DNS-сервером для выполнения разрешения имен, и он выигралне имеет значения, на что настроен TTL.

Единственная опасность здесь заключается в том, что они переносят веб-сайт на новый IP-адрес.В этот момент вы можете просто обновить файл hosts снова ...

1 голос
/ 09 апреля 2011

Первое, что я хотел бы проверить, это если DNS больше не настроен правильно или работает неправильно.

Попробуйте (из командной строки Windows)

nslookup MyDnsNameHere

и посмотрите, получите ли вы ожидаемый IP-адрес.

...