在进行服务调用之前,我想知道 WCF 服务是否可用。最好的方法是什么?
如何使用这个:
bool isServiceUp = true;
try
{
string address = "http://localhost/MyService.svc?wsdl";
MetadataExchangeClient mexClient = new MetadataExchangeClient(new Uri(address), MetadataExchangeClientMode.HttpGet);
MetadataSet metadata = mexClient.GetMetadata();
// if service down I get the exception
}
catch (Exception ex)
{
isServiceUp = false;
}
我的服务正在使用 net tcp 绑定。
我可以将它用于网络 tcp 绑定吗?
编辑:谢谢贾里德帕。假设我的第一次通话成功,而第二次通话时服务器已关闭。因此,在进行服务调用之前,我检查了处于 OPEN 状态的代理的状态,因此我进行了最终超时的服务调用。我没有设置任何打开或关闭超时,因此默认情况下需要 1 分钟,并且调用在我处理代理的服务的故障事件处理程序中被捕获。但是到那时 UI 挂起,我该怎么办?
请指导。