Xamarin - WCF异步回调中的异常处理无法正常工作 - 应用程序崩溃

时间:2013-11-28 11:27:47

标签: ios wcf asynchronous xamarin.ios xamarin

我正在使用 Xamarin 开发 iOS 应用,此应用会将异步调用转换为 WCF webservice,使用SilverLight SlSvcutil工具生成代理,按照Xamarin团队的建议。

问题是:如果设备未连接到互联网且应用尝试拨打网络服务,则会崩溃而不会发现异常。

代码如下所示:

             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是 System.Reflection.TargetInvocationException ,但即使我将整个事物包装在try / catch块中,它总是崩溃。

有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

好吧,我甚至有点尴尬,但我发现Completed事件中的EventArgs提供了一个Error属性,可以用来处理任何问题。

This thread helped me on this

无论如何,我会把它留在这里用于学习目的,以防万一其他人遇到同样的问题。

谢谢大家。