【发布时间】:2011-04-28 02:22:39
【问题描述】:
如果我的 WCF 服务发生异常,将该错误传达给客户端的最佳方式是什么?
我应该将它登录到服务并重新抛出一个肥皂异常吗? 或者我应该记录它并返回一条用户友好的消息?
【问题讨论】:
标签: c# wcf web-services exception-handling
如果我的 WCF 服务发生异常,将该错误传达给客户端的最佳方式是什么?
我应该将它登录到服务并重新抛出一个肥皂异常吗? 或者我应该记录它并返回一条用户友好的消息?
【问题讨论】:
标签: c# wcf web-services exception-handling
使用强类型或非类型的 FaultException 是实现此目的的一种方法。 有一篇很棒的文章 Simplifying WCF: Using Exceptions as Faults 描述了如何使用它们。正如文章所指出的,根据服务的复杂性,您可以选择更简单的无类型 FaultException 并将异常信息传递给客户端。
【讨论】:
我会记录它并返回一个FaultException。创建 FaultException 时,您可以将其中的用户友好消息传递回客户端。
【讨论】:
异常应该是异常事件,因此您不必担心好消息。如果异常仅在您有错误时发生,只需将其作为通用异常重新抛出并记录。应该不是问题。
但是,当异常作为正常流程的一部分发生时,返回好的消息将是一个好主意。
【讨论】: