我有一个简单的Web服务操作,如下所示:
[WebMethod]
public string HelloWorld()
{
throw new Exception("HelloWorldException");
return "Hello World";
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个客户端应用程序,它使用Web服务,然后调用该操作.显然会抛出异常:-)
try
{
hwservicens.Service1 service1 = new hwservicens.Service1();
service1.HelloWorld();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
Run Code Online (Sandbox Code Playgroud)
在我的catch-block中,我想要做的是提取实际异常的Message以在我的代码中使用它.捕获的异常是一个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 ---
Run Code Online (Sandbox Code Playgroud)
......而且InnerException是null.
我想要做的是提取(我的样本中的文本)的Message属性,任何人都可以帮助吗?如果你可以避免它,请不要建议解析的属性.InnerExceptionHelloWorldExceptionMessageSoapException