我有WCF服务器和WCF客户端。当部署新版本的客户端时,我想检查它是否已准备好运行,因此我必须检查服务器是否在线。
我不想做任何真正的服务器调用(因为调用可以更改生产数据)或在服务器上创建空的{...}“测试”方法,什么都不做。
是否可以检查WCF服务器端点是否存在并在没有方法调用的情况下侦听连接?
我试过了:
factory = new ChannelFactory<IServer>())
factory.CreateChannel();
和
factory = new ChannelFactory<IServer>())
factory.Open();
但如果服务器处于脱机状态,则没有例外。 如何在没有服务器方法调用的情况下检查服务器是否存在?
提前谢谢!
答案 0 :(得分:5)
不,没有调用端点就无法检查端点是否正在侦听。客户端可能无法连接到端点的原因有多种,因此唯一可靠的方法是拨打电话。还要记住,端点可能随时无法访问,因此客户需要为此做好准备。
因此,您有两种选择: