我有一个简单的WCF服务,可以执行简单的操作:

[OperationContract]
DoSomething (Stuff input);

如果DoSomething内部发生异常,则将返回FaultException。假设客户只需知道是否出了点问题,您是否会说在这种情况下无需定义FaultException

最佳答案

返回FaultException始终是一个好习惯,因为如果您不这样做,则 channel 将出错,无法再次使用。

在配置中(根据服务行为)决定需要向客户端发送哪些信息:

         <serviceBehaviors>
                <behavior name="myName">
                     <serviceDebug includeExceptionDetailInFaults="true" />
       // ....

实际上,我总是在服务上实现 IErrorHandler 行为以捕获所有异常并返回FaultException<T>,因此我不必在所有操作中都这样做。

10-08 03:36