C# 当服务器使用System.Net.WebException 422进行响应时,如何检索从远程服务器传回的内容

C# 当服务器使用System.Net.WebException 422进行响应时,如何检索从远程服务器传回的内容,c#,asp.net,C#,Asp.net,我正在使用一个api,该api还返回一个有效的xml字符串,其中包含在系统中遇到的错误 <?xml version="1.0" encoding="UTF-8"?> <error> <request>Request made to server</request> <message>No user found for account 12345</message> </error> 向服务器发出的

我正在使用一个api,该api还返回一个有效的xml字符串,其中包含在系统中遇到的错误

<?xml version="1.0" encoding="UTF-8"?>
<error>
   <request>Request made to server</request>
   <message>No user found for account 12345</message>
</error>

向服务器发出的请求
找不到帐户12345的用户
有没有办法从System.Net.WebException对象中从远程服务器获取该xml?
提前感谢:)

直接从MSDN文档:

当被该类的后代抛出时, 属性提供对的Internet响应 应用程序


因此,如果您在读取响应时遇到异常,您应该能够读取响应属性以获取XML内容。

当然可以!只需要围绕您的请求抛出一个try catch.GetResponse(),捕获一个WebException并读取exceptions响应属性

WebRequest request = WebRequest.Create("http://www.google.com/ohnoa404");
WebResponse response;

try
{
    response = request.GetResponse();
}
catch (WebException ex)
{
    response = ex.Response;
}

String responseString = String.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
    responseString = reader.ReadToEnd();
}

@user969602如果这解决了您的问题,请接受-这节省了其他人来这里试图找到解决方案