我有一个简单的WCF服务,它执行一个简单的操作:
[OperationContract]
DoSomething (Stuff input);
如果DoSomething
内发生异常,则会返回FaultException
。鉴于所有客户都需要知道是否出现了问题,您是否会说在这种情况下无需定义FaultException
?
答案 0 :(得分:4)
返回FaultException
始终是一种好习惯,因为如果不这样做,频道将出现故障,并且无法再次使用。
决定需要将哪些信息发送到客户端的配置(在服务行为中):
<serviceBehaviors>
<behavior name="myName">
<serviceDebug includeExceptionDetailInFaults="true" />
// ....
实际上,我总是在服务上实现IErrorHandler
行为以捕获所有异常并返回FaultException<T>
,这样我就不必在所有操作中执行此操作。