2010-09-10 71 views
0

我想从Web服务抛出自定义异常并将其捕获在客户端。我正在使用JQuery并获取JSON序列化的异常,所以这是一个好的开始。但问题是:错误代码在.NET Web服务到客户端的自定义异常

  • 堆栈跟踪发送到我不想要的客户端。
  • 除了例外消息,我还需要添加一个错误代码。

我试着创建一个自定义的异常,但它在序列化时省略了错误代码。

+0

什么样的网络服务? ASMX或WCF? – 2011-01-30 01:53:53

回答

1

要将自己的数据返回给SoapException,需要在SoapException对象上设置Details属性。对不起,我没有在我面前的源代码,但我相信你必须将细节作为字符串传递给SoapException对象。我subclassed SoapException对象,传递它的构造函数我想要的细节。然后它调用SoapException构造函数传递细节以及一些我总是想要返回的标准东西(它检查异常的.Data属性并将其添加到细节中)。它把所有的东西都变成了XML的细节。在客户端,我在错误细节中检查XML,然后创建一个新的JavaScript错误对象,并将细节添加为属性,然后抛出它。

因此,将详细信息中的错误代码传递给SoapException构造函数。定制的异常属性被SoapException忽略。

要关闭堆栈跟踪我相信你用web.config操作。