Из вашей конфигурации это выглядит так, как будто вы используете WCF - верно?
В этом случае, по сути, просто оберните ваши вызовы веб-службы в try...catch
блоки:
try
{
WebServiceClient client = new WebServiceClient();
client.CallSomeMethod();
}
catch(EndpointNotFoundException exc)
{
// endpoint not found --> webservice is not up and running
}
.....
catch(CommunicationException exc)
{
// base WCF exception - for things like config errors etc.
}
В этом случае вы можете перехватить конкретные исключения, которые могут произойти, и молча продолжать работать, предоставить пользователю окно сообщения или все, что вы хотите сделать в этом случае.
Почти все исключения WCF являются потомками CommunicationException
(см. Документацию MSDN ) - так, чтобы это перехватывало большинство ошибок WCF.
Если вы хотите отреагировать на сервис, отправляющий вам ошибки, вы также можете перехватить FaultException
(до CommunicationException
) - это могут быть ошибки, вызванные выполнением на сервере (например, не удается подключиться) в базу данных или бэкэнд или что-то).