我在 Web 服务上调用一个方法,它抛出 403 Forbidden WebException...
System.Net.WebException: The request failed with HTTP status 403: Forbidden.
我已经记录了这个错误,但我真的很想在日志消息中记录 URI,这样可以很容易地确定是哪个网络服务导致了问题。
有没有一种简单的方法可以从抛出的 WebException 中获取 URI?我查看了属性列表,但看不到任何可以让我得到我想要的东西。
最佳答案
您可以访问 SOAP 客户端代理对象(SoapHttpClientProtocol
类型)的 Url
属性。
如果您从代码中的一个方法调用两个不同的 Web 服务,只需在 Web 服务调用周围放置一个 try {} catch 并使用有问题的网络服务。
类似于:
string url = client.Url;
try
{
client.MyWebServiceCall();
url = client2.Url;
client2.MyWebServiceCall2();
}
catch (Exception ex)
{
throw new Exception("Webservice call failed. Url: "+url+", Error:"+ex.Message,ex);
}
关于c# - 如何获取抛出 WebException 的 URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856994/