Windows phone 7, silverlight - Как перехватить EndpointNotFoundException при вызове асинхронной веб-службы?

Я вызываю веб-службу из приложения Silverlight Windows phone 7, которое отлично работает, если веб-служба доступна. Если веб-служба недоступна, то перехватывается необработанное исключение, но я, похоже, не могу его отловить. Моя попытка такова:

            //Get list of providers from Webservice
        RSAServiceClient proxy = new RSAServiceClient();
        proxy.GetSuppliersCompleted += new System.EventHandler<GetSuppliersCompletedEventArgs>(ProxyGetSuppliersCompleted);
        try
        {
            proxy.GetSuppliersAsync();
        }
        catch (EndpointNotFoundException)
        {
            //TODO: Handle webserice not being available
        }
        catch (Exception)
        {
            throw;
        }

Но это не так. t поймать исключение, и очевидно, что GetSuppliersCompleted никогда не вызывается, поэтому я не могу его там поймать.

Затем я подумал, что смогу обнаружить его, проверив состояние соединения (proxy.State), но это несмотря на то, что веб-служба не запущена возвращает CommunicationState.Opened.

Есть идеи, где я могу с этим справиться?

Приношу свои извинения, если я что-то пропустил, но искал и не нашел решения.

6
задан MAXE 28 August 2012 в 14:33
поделиться