我有一个诊断工具,用于测试Web服务。
我希望该工具在出现问题时报告,因此我已经部署了一个契约(Contract)有问题的服务以对其进行测试。
当我浏览到它时,我得到一个页面,上面有非常描述性的消息,例如:
我想要的是能够打电话给:
myErrorMsg = WebClient.DownloadString("MyBadService.svc");
并以字符串形式获取此有用的错误消息,但是我得到以下WebException:
如何获得我在浏览器中收到的相同错误消息,以字符串形式返回,而没有发生异常?
谢谢。
最佳答案
您必须捕获异常并阅读响应。
catch (WebException exception)
{
string responseText;
var responseStream = exception.Response?.GetResponseStream();
if (responseStream != null)
{
using (var reader = new StreamReader(responseStream))
{
responseText = reader.ReadToEnd();
}
}
}
关于c# - 以字符串形式获取WebClient错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7036491/