【发布时间】:2017-09-08 04:13:38
【问题描述】:
我们的应用程序总是抛出带有泛型类型参数的 FaultException。在 Silverilght、WCF 和 UWP 中,FaultException 可以在客户端进行反序列化,并且客户端会在另一端收到带有 FaultDetail 的有意义的错误消息。
在 Android 上,我们注意到当从 WCF 调用抛出 FaultException 时,FaultDetails 没有被正确反序列化。我对此进行了深入研究,发现这是 Xamarin Android Mono WCF 环境中的一个合法错误。如果没有泛型类型参数,Android 会接受 FaultException,但如果指定了泛型类型参数,它将无法反序列化错误消息,并且会抛出一个无用的错误消息作为泛型 Exception 消息。
我已在此处与 Xamarin 团队将其记录为错误: https://bugzilla.xamarin.com/show_bug.cgi?id=59318
您可以在此 repo 的 TODOWCF 示例中看到此错误正在重新创建,该示例是 Xamarin Forms 示例的一个分支: https://github.com/MelbourneDeveloper/xamarin-forms-samples.git
所以,我的问题是:是否有人能够成功地向 Xamarin Android 应用程序抛出带有泛型类型参数 (FaultDetail) 的 FaultException,并让 Android 应用程序正确反序列化 FaultException 消息?
编辑:这是 Android 和 iOS 上已确认的错误。 https://bugzilla.xamarin.com/show_bug.cgi?id=59318#c3
【问题讨论】:
标签: c# android wcf xamarin faultexception