5

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

[OperationContract]
DoSomething (Stuff input);

如果内部发生异常,DoSomething则将FaultException返回 a。FaultException鉴于客户只需要知道是否出了问题,您会说在这种情况下不需要定义 a吗?

4

1 回答 1

4

返回 a 始终是一种好习惯FaultException,因为如果不这样做,通道将出现故障并且无法再次使用。

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

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

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

于 2011-04-01T14:10:12.810 回答