我希望我的WCF服务能够返回一些已知的错误。即已定义的FaultContract
我有点困惑,不知道是应该派生自己的FaultException子类,还是应该创建一个detail类并使用FaultException<TDetail>。
似乎两者都有分散的例子,我只是想知道普遍的共识是什么。
我倾向于派生,因为我认为客户端代码捕获MyException而不是以WCF为中心的FaultException<MyExceptionDetail>会看起来更干净,但我对此并没有什么强烈的感觉。
发布于 2012-03-02 23:08:28
一般情况下,对于未知或一般故障,应使用FaultException,对于类型化故障,应使用FaultException<T>。
类型化错误更类似于标准.NET中的类型化异常,因此它们将是首选方法。
请注意,您需要在服务契约定义中使用fault contracts,否则所有异常都将作为FaultException到达客户端,即使您抛出FaultException<T>也是如此。
https://stackoverflow.com/questions/9535373
复制相似问题