【发布时间】:2010-09-07 02:51:44
【问题描述】:
我有这样一个简单的网络服务操作:
[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());
}
在我的捕获块中,我想做的是提取实际异常的消息以在我的代码中使用它。捕获的异常是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。
我想做的是提取InnerException 的Message 属性(我的示例中的HelloWorldException 文本),有人可以帮忙吗?如果可以避免,请不要建议解析SoapException的Message属性。
【问题讨论】:
标签: .net asp.net web-services exception soap