我们的应用程序始终使用泛型类型参数抛出FaultException。在Silverilght,WCF和UWP中,可以在客户端反序列化FaultException,并且客户端在另一端获得一个有意义的错误消息,其中包含FaultDetail。
在Android上,我们发现当FaultException<>时,FaultDetails没有被正确反序列化。已经从WCF调用中抛出。我挖到了这个,发现这是Xamarin Android Mono WCF环境中的合法错误。如果没有泛型类型参数,Android将接受FaultException,但如果指定了泛型类型参数,它将无法反序列化错误消息,并且它将抛出无用的错误消息作为一般异常消息。
我已将此记录为Xamarin团队的错误: https://bugzilla.xamarin.com/show_bug.cgi?id=59318
您可以在此repo中的TODOWCF示例中看到此错误正在重新创建,该回购是Xamarin Forms示例的一个分支: https://github.com/MelbourneDeveloper/xamarin-forms-samples.git
所以,我的问题是:有没有人能够成功地将带有泛型类型参数(FaultDetail)的FaultException抛出到Xamarin Android应用程序,并让Android应用程序正确反序列化FaultException消息?
编辑:这是Android和iOS上的已确认错误。 https://bugzilla.xamarin.com/show_bug.cgi?id=59318#c3