Я хочу знать, доступна ли служба 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 связывания.
Могу ли я использовать его для привязки сетевого tcp?
EDIT: Thanks JaredPar. Предположим, что мой первый вызов преуспел, а второй - сервер. Поэтому перед выполнением вызова службы я проверяю состояние прокси-сервера, которое находится в состоянии ОТКРЫТО, и, следовательно, я делаю вызов службы, который в конечном итоге получает тайм-аут. Я не установил никаких открытых или закрытых тайм-аутов, поэтому по умолчанию требуется 1 минута, и вызов попадает в обработчик события Fault службы, в которой я удаляю прокси. Но к тому времени пользовательский интерфейс зависает, что я делаю?
Просим руководствоваться.
Thanks Jaredpar, я обновил вопрос. –