如果我的WCF服务发生异常,最好的方法是如何将该错误通知给客户端?
我应该在服务上记录它并重新抛出SOAP异常吗? 还是应该记录下来并返回用户友好的信息?
如果我的WCF服务发生异常,最好的方法是如何将该错误通知给客户端?
我应该在服务上记录它并重新抛出SOAP异常吗? 还是应该记录下来并返回用户友好的信息?
使用强类型或非类型的FaultException是实现此目的的一种方式。 有一篇优秀的文章 简化WCF:使用异常作为故障描述了如何使用每个选项。正如该文章所指出的,根据您的服务复杂性,您可以选择更简单的非强类型FaultException并将异常信息传递给客户端。
异常应该是一个例外事件,所以您不必担心漂亮的消息。如果异常只在出现错误时发生,请将其重新抛出为通用异常并记录下来。这不应该是一个问题。
然而,当异常作为您正常流程的一部分发生时,返回漂亮的消息是一个好主意。