Xamarin-WCF异步回调中的异常处理不起作用-应用程序崩溃



我正在使用Xamarin开发iOS应用程序,该应用程序对WCFWeb服务进行异步调用,并根据Xamarin团队的建议使用SilverLight SlSvcutil工具生成代理。

问题是:如果设备未连接到互联网,并且应用程序试图调用Web服务,则会在未捕获异常的情况下崩溃。

代码如下:

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

有什么想法吗?

提前感谢

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

这个线程帮助了我这个

不管怎样,我会把它留在这里学习,以防其他人遇到同样的问题。

谢谢大家。

最新更新