如何在获取WebException后检查是否发生DNS错误

时间:2009-08-06 06:27:44

标签: c# .net visual-studio

在以下代码中获取WebException后是否确保发生了DNS错误?

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

字符串比较可能是一种方式。通过检查错误消息我们可以肯定。但根据文化,消息字符串可能会有所不同。因此,这可能不是检查DNS错误的最佳方法。

2 个答案:

答案 0 :(得分:3)

其中一个WebExceptionStatus值是NameResolutionFailure。这表示DNS错误。

答案 1 :(得分:2)

而不是依赖(永远!)收到的响应消息,我将依赖于收到的WebResponse的StatusCode。范围4xx (400-499)中的HTTP状态代码表示DNS问题或查找资源时出错。