我开发了一个WCF服务,用于与数据库通信。我从WPF应用程序中使用此服务来访问数据库。将来,我们还计划拥有一个Web客户端。目前,我们将服务作为服务器中的Windows服务托管。
我的问题是,如果在服务器中抛出任何异常,我想通知客户端有关异常的信息。此外,我不希望该服务被杀死。我如何实现这一目标?
For Ex:如果数据库脱机,当服务尝试访问该数据库时,它会抛出异常。我没有使用try catch处理这些异常。这些类型的未处理异常导致我的WCF服务关闭。
答案 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