私は、Webサービスが利用可能な場合にうまく動作するSilverlight Windows phone 7アプリケーション内からWebサービスを呼び出しています。 Webサービスが利用できない場合、未処理の例外がキャッチされますが、自分でキャッチすることはできません。明らかにWindows phone 7、silverlight - 非同期Webサービスを呼び出すときにEndpointNotFoundExceptionを捕捉する方法?
//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;
}
をしかし、これは例外をキャッチしないとGetSuppliersCompleted決してさん得るので、私はそこにそれをキャッチすることはできませんと呼ばれる:私の試みは、次の通りです。
私は接続状態(proxy.State)をチェックして検出できると思っていましたが、実行していないWebサービスにもかかわらずこれがCommunicationState.Openedを返します。
私はこれをどこで処理できるのでしょうか?
私が何かを見逃しても謝罪しますが、私は検索して解決策を見つけられませんでした。
ProxyGetSuppliersCompletedは、EndpointNotFoundExceptionがVisual Studioによって生成されたReference.csで "未処理"として捕捉されるため呼び出されません。 – Fishcake
申し訳ありませんが私は誤解しました。 Visual Studioのデバッグ中にReference.csが壊れていたので、私は続けていませんでした。実行を続行する(またはデバッグしない)場合、エラーはProxyGetSuppliersCompletedに実際に捕捉されます。乾杯。 – Fishcake
詳細Fishcake – alexandrekow