WCF异常处理

7

如果我的WCF服务发生异常,最好的方法是如何将该错误通知给客户端?

我应该在服务上记录它并重新抛出SOAP异常吗? 还是应该记录下来并返回用户友好的信息?

3个回答

11

使用强类型或非类型的FaultException是实现此目的的一种方式。 有一篇优秀的文章 简化WCF:使用异常作为故障描述了如何使用每个选项。正如该文章所指出的,根据您的服务复杂性,您可以选择更简单的非强类型FaultException并将异常信息传递给客户端。


1
此链接已损坏。 - Dan
1
嗯,距离我发帖已经有6年了...是的,链接已经失效了,但是可以在存档中找到:http://web.archive.org/web/20160323202540/http://www.olegsych.com/2008/07/simplifying-wcf-using-exceptions-as-faults/ - zam6ak

1

我会记录它并返回一个FaultException。当你创建FaultException时,可以在其中传递一个用户友好的消息回到客户端。


0

异常应该是一个例外事件,所以您不必担心漂亮的消息。如果异常只在出现错误时发生,请将其重新抛出为通用异常并记录下来。这不应该是一个问题。

然而,当异常作为您正常流程的一部分发生时,返回漂亮的消息是一个好主意。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接