WCF服务关闭时显示消息

时间:2016-03-07 15:00:12

标签: c# .net wcf

我已经搜索了,如何知道WCF服务是否已关闭,我才知道知道这一点的唯一方法是调用WCF服务方法。我们可以创建一个只返回true的方法。 在我的情况下,我想在服务到客户端时显示消息,对于WCF服务的其他异常,我想显示异常。什么应该是最好的方式?

2 个答案:

答案 0 :(得分:1)

此问题只能通过"客户端"来解决,因为服务器可以回复" true"仅当WCF服务正在运行且配置良好时。

所有其他案件都应该从客户管理。

以简单的方式,您可以调用该简单服务,如果它回复它似乎一切正常,否则您将得到一个错误或您需要捕获的异常。

注意async / await,你需要在更接近网络电话的地方捕获异常,否则你将获得一个未被捕获的应用程序异常,这将导致应用程序域崩溃。

答案 1 :(得分:0)

如果服务是您的,那么继续使用返回true的方法。

但是,您应该继续使用该服务,因为它不一定会在您使用它的整个时间内保持不变。为您的所有操作优雅地处理临时超时和错误,并相应地显示您的消息。

您可以做的一件客户端事情是发送WebRequest并查看它是否返回HttpStatusCode.OK,但它不能保证服务不会失败或正在运行。

在您使用服务期间,您可能会遇到FaultException,代理和通道状态错误,无效配置(绑定等)和CommunicationException对象。

您可以在 MSDN 上详细了解相关信息。

从那里:

  
    

当网络不可用,客户端使用错误的地址或服务主机未侦听传入消息时,会发生通信错误。此类型的错误将作为CommunicationException或CommunicationException派生类返回给客户端。在执行服务操作期间发生应用程序错误。此类错误将作为FaultException或FaultException发送到客户端。