2013-11-28 43 views
2

我正在使用Xamarin的iOS應用,而這個應用程序,使得異步調用WCF web服務,與代理爲根據Xamarin團隊的推薦使用SilverLight SlSvcutil工具生成。Xamarin - 在WCF異步回調異常處理不工作 - 應用程序崩潰

問題是:如果設備沒有連接到互聯網,並且應用程序試圖撥打網絡服務,它會崩潰而不捕獲異常。

的代碼看起來是這樣的:

   int versao = 0; 

      // Set callback function 
      WebService.WSVersaoCompleted += (
       object sender, 
       WSVersaoCompletedEventArgs e) => { 

       versao = e.Result; 

       // Free thread 
       syncEvent.Set(); 
      }; 

      // Webservice call 
      WebService.WSVersaoAsync(); 

      // Hold thread 
      syncEvent.WaitOne(); 

      return versao > 0; 

所以,實際上,我能夠得到迴應,應用程序打「已完成」的事件,我可以看到e.Result是系統.Reflection.TargetInvocationExceptionException,但即使我將所有東西包裝在try/catch塊中,它總是崩潰。

任何想法?

在此先感謝

回答

2

好吧,我甚至有點尷尬,但我想通了,在完成事件中的EventArgs提供錯誤屬性,它可以用來處理任何問題。

This thread helped me on this

無論如何,我要離開這裏學習之用,並且如果其他人陷入了同樣的問題。

謝謝大家。