我通过WSDL生成的代理类调用Web服务。在我们如何处理的情况下,我们如何处理其案例以确保我们捕获所有信息。
https://msdn.microsoft.com/en-us/library/system.net.webexceptionstatus%28v=vs.110%29.aspx
我相信这将始终包含一些信息,但在文章中说明了
此API支持产品基础结构,不能直接在您的代码中使用。
然后继续给出一个例子,使用这里的代码https://msdn.microsoft.com/en-us/library/system.net.webexception.response%28v=vs.110%29.aspx。
if(e.Status == WebExceptionStatus.ProtocolError) {
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
}
如何最好地处理此异常。我的优先事项是1)捕获 我相信的异常信息是
e.Status
? 2)HTTP代码/描述(如500 内部服务器错误)
仅在
e.Status == WebExceptionStatus.ProtocolError
时填充StatusCode / StatusDescription,因为另一个e.status = WebExceptionStatus.TimeOut
不会是599
http错误代码或499
WebExceptionStatus.ConnectionClosed
时?
MSDN 是什么意思支持产品基础架构并且不在代码中使用它?
如果其他错误状态不是协议异常,我将需要捕获任何其他信息(仅用于捕获更多信息以进行调试,例如 MSDN中的代码示例 for {{ 1}})。