Есть ли способ убедиться, что после получения WebException в следующем коде произошли ошибки DNS?

WebRequest request = WebRequest.Create(uri);
....
WebResponse response = request.EndGetResponse(asyncResult);

Сравнение строк может быть одним из способов. Проверяя сообщение об ошибке, мы можем быть уверены. Но в зависимости от культуры строка сообщения может быть разной. Так что это может быть не лучший способ проверить ошибку DNS.

0
malay 6 Авг 2009 в 10:27
Любая идея / ссылка будут полезны.
 – 
malay
6 Авг 2009 в 10:52

2 ответа

Лучший ответ

Одно из значений WebExceptionStatus - это NameResolutionFailure. Это указывает на ошибки DNS.

3
Martin v. Löwis 6 Авг 2009 в 11:40

Вместо того, чтобы полагаться (когда-либо!) На полученное ответное сообщение, я бы полагался на StatusCode полученного WebResponse. Код состояния HTTP в диапазоне 4xx (400-499) может указывать на проблемы DNS или ошибки при обнаружении ресурса.

2
Cerebrus 6 Авг 2009 в 11:24