.net - 检查 WCF 连接

标签 .net wcf

我有一个 WCF 服务和客户端。我通过连接到 WCF

ChannelFactoryBase<(Of <(TChannel>)>)..::.CreateChannel Method



然后我引用了 ICommunicationObject

WCF 服务在连接或稍后关闭时可能无法正常工作。什么是正确的
检查 WCF 服务是否正常工作的方法。一种直接的方法是使用 CommunicationException 机制。但是 ICommunicationObject.State 属性呢?我应该检查它是否是
在任何 WCF 方法调用之前处于故障状态?什么是最佳做法?

最佳答案

没有什么神奇的方法可以检查 WCF 服务是否正常工作 - 除了调用它并准备处理如果它不工作时出现的异常。
ICommunicationObject.State只会告诉您客户端和服务器之间的 channel “故障”,如果先前的操作导致错误并且服务器上没有正确处理该错误(因此 channel “故障”,例如变得无用)。

你可以 - 如果你控制电线的两端 - 包括一个“虚拟”ping方法(或返回服务的版本号之类的东西)以便能够首先调用类似的东西,所以看看通信 channel 是否仍然活。

但是:第一次调用 MyService.Ping() 的真正好处是什么?如果服务不存在,则必须处理可能的异常,然后调用您的实际方法,而不仅仅是调用 MyService.MyMethod()并处理任何相关异常?

关于.net - 检查 WCF 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1995520/

相关文章:

c# - SaveFileDialog -(文件路径)不存在。验证是否给出了正确的文件名

c# - Resx 资源(本地化)在调试中工作但在 MSI 安装程序中不工作

c# - 如何获取app.config中的服务基地址?

c# - 在 Azure 服务器和 UWP 客户端上实现 WebSocket

wcf - 查看 WCF SOAP 消息的工具

c# - 如何在 .ascx 中使用 "using"指令?

c# - 每隔几秒重复一个功能

.net - 在 .NET 中将复杂的 boolean 条件从字符串转换为 boolean 值

c# - WCF 服务启用跟踪

iphone - 将 HTTPS 与 Monotouch 和 WCF 结合使用