在以下代码中获取WebException后是否确保发生了DNS错误?
WebRequest request = WebRequest.Create(uri);
....
WebResponse response = request.EndGetResponse(asyncResult);
字符串比较可能是一种方式。通过检查错误消息我们可以肯定。但根据文化,消息字符串可能会有所不同。因此,这可能不是检查DNS错误的最佳方法。
答案 0 :(得分:3)
其中一个WebExceptionStatus值是NameResolutionFailure。这表示DNS错误。
答案 1 :(得分:2)
而不是依赖(永远!)收到的响应消息,我将依赖于收到的WebResponse的StatusCode。范围4xx (400-499)
中的HTTP状态代码表示DNS问题或查找资源时出错。