2013-11-28 34 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

无论如何,我要离开这里学习之用,并且如果其他人陷入了同样的问题。

谢谢大家。