我有一个像这样的简单 Web 服务操作:
[WebMethod]
public string HelloWorld()
{
throw new Exception("HelloWorldException");
return "Hello World";
}
然后我有一个使用 Web 服务然后调用操作的客户端应用程序。显然它会抛出一个异常:-)
try
{
hwservicens.Service1 service1 = new hwservicens.Service1();
service1.HelloWorld();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
在我的捕获块中,我想做的是提取实际异常的消息以在我的代码中使用它。捕获的异常是 a SoapException
,这很好,但它的Message
属性是这样的......
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: HelloWorldException
at WebService1.Service1.HelloWorld() in C:\svnroot\Vordur\WebService1\Service1.asmx.cs:line 27
--- End of inner exception stack trace ---
...而且InnerException
是null
。
我想做的是提取(我的示例中的文本)的Message
属性,有人可以帮忙吗?如果可以避免,请不要建议解析.InnerException
HelloWorldException
Message
SoapException