в моем приложении (Windows Phone) я динамически генерирую соединение с веб-службой WCF с помощью кода позади.
Пользователь должен указать URL-адрес веб-службы, затем я создаю свой EndPointAddress и Binding, и он работает хорошо.
Но если пользователь вводит неверный URL, возникает исключение:
"System.ServiceModel.EndpointNotFoundException -> Не было конечной точки, прослушивающей [адрес службы], который мог бы принять сообщение. Это часто вызывается неверным адресом или действием SOAP. Для получения дополнительной информации см. InnerException, если имеется, . "
Необычное исключение довольно классическое: «Удаленный сервер возвратил ошибку: Не найдено при InnerException.»
Проблема: я не могу обработать это исключение. Я попробовал многие вещи, найденные здесь, но безуспешно.
Есть ли решение?
Единственное, что я смог найти, - это отменить некоторые методы в Reference.cs, что, безусловно, не очень хорошая идея ...!
Заранее спасибо и извините за мой плохой английский :)!
Мой настоящий код выглядит так, но он не улавливает исключение =>
MyServiceClient client = new MyServiceClient(myBinding, myEndpointAddress);
try
{
client.RegisterUserCompleted += new EventHandler<RegisterUserCompletedEventArgs>(client_RegisterUserCompleted);
client.RegisterUserAsync();
}
catch (TimeoutException ex)
{
MessageBox.Show(ex.Message);
client.Abort();
}
catch (FaultException ex)
{
MessageBox.Show(ex.Message);
client.Abort();
}
catch (CommunicationException ex)
{
MessageBox.Show(ex.Message);
client.Abort();
}
catch
{
MessageBox.Show("Error");
client.Abort();
}
finally
{
client.CloseAsync();
}