在.NET中,我正在调用休息服务并获得异常 - 500 Internal Server Error
。
HttpWebResponse response = request.GetResponse() as HttpWebResponse
当我在Fiddler中分析它时(在TextView中),我得到很多关于导致错误的正确异常的细节。
在我的异常对象中,我无法在InnerException
(它为null)和Response
对象本身中获取此信息。
有什么想法吗?
答案 0 :(得分:8)
尝试查看WebException.Response Property:
catch(WebException ex)
{
Console.WriteLine(ex.Message);
if (ex.Status == WebExceptionStatus.ProtocolError)
{
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)ex.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)ex.Response).StatusDescription);
using (Stream responseStream = ex.Response.GetResponseStream())
{
if (responseStream != null)
{
using (StreamReader responseReader = new StreamReader(responseStream))
{
Console.WriteLine(responseReader.ReadToEnd());
}
}
}
}
}
答案 1 :(得分:5)
“内部”异常发生在远程主机上。 WebException有一个Response属性,您可以阅读该属性以获取详细信息。