서비스 호출을하기 전에 WCF 서비스를 사용할 수 있는지 여부를 알고 싶습니다. 가장 좋은 방법은 무엇일까요?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;
}
내 서비스 바인딩 순 TCP를 사용하고 있습니다.
net tcp 바인딩에 사용할 수 있습니까?
편집 : 감사합니다. JaredPar. 첫 번째 호출이 성공하고 두 번째 호출에서 서버가 다운 된 경우를 가정합니다. 그래서 서비스 호출을하기 전에 나는 OPEN 상태에있는 프록시의 상태를 확인하고 따라서 결국 시간 초과되는 서비스 호출을합니다. 어떤 열린 시간이나 닫는 시간을 설정하지 않았기 때문에 기본적으로 1 분이 걸리며이 호출은 프록시를 처리하는 서비스의 오류 이벤트 처리기에 걸리게됩니다. 그러나 그때까지 UI가 멈추었을 때 나는 무엇을합니까?
안내하십시오.
감사합니다. Jaredpar, 질문을 업데이트했습니다. –