WCF服务异常处理

时间:2014-02-19 12:05:42

标签: c# wpf wcf

我开发了一个WCF服务,用于与数据库通信。我从WPF应用程序中使用此服务来访问数据库。将来,我们还计划拥有一个Web客户端。目前,我们将服务作为服务器中的Windows服务托管。

我的问题是,如果在服务器中抛出任何异常,我想通知客户端有关异常的信息。此外,我不希望该服务被杀死。我如何实现这一目标?

For Ex:如果数据库脱机,当服务尝试访问该数据库时,它会抛出异常。我没有使用try catch处理这些异常。这些类型的未处理异常导致我的WCF服务关闭。

2 个答案:

答案 0 :(得分:2)

您可以为WCF服务方法创建FaultContract。当服务器上发生异常时,您可以抛出FaultException。客户端可以捕获此FaultException并处理它。

我希望链接有用。 http://www.codeproject.com/Articles/26320/WCF-Error-Handling-and-Fault-Conversion

答案 1 :(得分:1)

没有做任何事情。如果发生异常,则不会终止服务器。客户端将收到例外。

如果需要,可以使用IErrorHandler接口添加错误处理,并且应该使用错误契约,以便客户端知道它们是否出现预期或意外错误。有关详情,请参阅此处:http://msdn.microsoft.com/en-us/library/gg281715%28v=vs.110%29.aspx