Если ваша служба принимает http get, одним из вариантов будет запрос метаданных службы от клиента, используя что-то вроде этого:
var svcUri = new Uri("http://yourhost/service.svc?wsdl");
MetadataExchangeClient mexClient = new MetadataExchangeClient(svcUri, MetadataExchangeClientMode.HttpGet);
var isHealthy = true;
try
{
MetadataSet metadata = mexClient.GetMetadata();
}
catch (Exception ex)
{
isHealthy = false;
}
Другой вариант - добавить метод «heartbeat», который возвращает int или bool к самой службе, которую вы могли бы периодически вызывать из клиента.