WCF服务:响应对象中的错误异常与错误消息

时间:2013-12-02 12:00:51

标签: c# wcf web-services exception-handling

WCF服务发送故障异常,以防WCf层出现异常,我在内部应用程序使用的WCf服务中广泛使用它,但我不确定外部客户端。

方案

  

假设我创建了一个WCF服务,该服务将通过互联网向我的客户公开,我将为每个服务电话收费。可以从服务返回不同的错误消息(身份验证失败/授权失败/验证错误)

我在考虑以下两个appraoches

错误异常:创建一个Generic ErrorHandler,它实现IErrorHandler以针对每种错误抛出Fault异常。然后客户端必须在他们的最后处理故障异常,在我看来有点复杂

响应DTO:响应DTO将使用错误详细信息填充IsError,ErrorMessage,ErrorCode等属性。对于客户来说这可能很容易,因为他们只会检查一些bool变量以查找是否有任何错误。

所以这是问题

是否应从WCF发送响应对象内的故障异常或错误消息?每种方法的优点/缺点是什么?

1 个答案:

答案 0 :(得分:1)

在我正在开展的项目中,我们正在开发一个可公开访问的API。我们正在创建一个响应DTO,以将预期的错误消息传递给自定义。然后我们将故障异常包装在其他所有内容中,并使用客户标识符(apikey)记录错误。客户将获得故障异常而没有真正的细节,但使用该客户apikey我们应该能够找到并解决具体问题。