C# WCF服务异常处理

C# WCF服务异常处理,c#,wpf,wcf,C#,Wpf,Wcf,我开发了一个WCF服务,用于与数据库通信。为了访问数据库,我从WPF应用程序中使用了此服务。将来,我们还计划开发一个Web客户端。目前,我们正在服务器中作为windows服务托管该服务 我这里的问题是,如果服务器中抛出任何异常,意味着我想通知客户机该异常。另外,我不希望服务被终止。我如何做到这一点 例如:如果数据库脱机,当服务尝试访问该数据库时,它会抛出异常。我没有使用try-catch处理这些异常。这些类型的未处理异常会导致我的WCF服务关闭。您无需执行任何操作。如果发生异常,则不会终止服务器

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

我这里的问题是,如果服务器中抛出任何异常,意味着我想通知客户机该异常。另外,我不希望服务被终止。我如何做到这一点

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

您无需执行任何操作。如果发生异常,则不会终止服务器。客户端将收到异常


如果需要,可以使用
IErrorHandler
接口添加错误处理,并且应该使用错误契约,以便客户机知道他们是否得到了预期的或意外的错误。有关更多详细信息,请参见此处:

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


我希望这个链接是有帮助的

fejesjoco:我以Windows服务的形式托管该服务,如果出现异常,该服务将停止。那么这不是WCF的错,而是其他原因。WCF捕获服务中的异常,因此这不是原因。fejesjoco:我使用Try..Catch处理服务中的异常,并从Catch块抛出FaultException以通知客户端。谢谢你的帮助。你能发布一些代码来说明当抛出异常时你当前是如何停止服务的吗?