如何在.netstandard中使用Xamarin.Forms项目中的WCF服务?

我用.netstandard 2.0创建了一个Xamarin.Forms项目作为PCL项目。 我试图在该项目中使用WCF服务。 我已经为WCF服务添加了连接的服务。 当我试图调用服务中提供的任何方法时,它会给出如下错误:

System.ServiceModel.FaultException`1 [[System.ServiceModel.ExceptionDetail,System.ServiceModel,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35]]:在反序列化操作'GetData'的请求消息体时出错。 OperationFormatter遇到无效的消息体。 预计会找到名为'GetData'和命名空间'http://tempuri.org/'的节点类型'Element'。 找到名为“GetDataAsync”和命名空间“http://tempuri.org/”的节点类型“元素”

我也尝试将.net标准版本更改为较旧的版本,但它给出了相同的错误。


目前,Xamarin应用程序与WCF Web服务参考连接服务提供程序为.NET标准项目(bugzilla.xamarin.com错误51959)生成的基于任务的异步WCF代理方法不兼容。

生成WCF代理方法的旧版兼容风格的一种方法是在开发人员命令提示符中使用/async/tcv:Version35开关运行SvcUtil.exe 。 这将生成同步代理方法,开始/结束样式异步编程模型(APM)回调代理方法和基于事件的代理方法,所有这些都与Xamarin应用程序兼容。

(注意:如果省略/async开关, SvcUtil.exe将生成较新的,不兼容的基于任务的代理方法。)

链接地址: http://www.djcxy.com/p/95933.html

上一篇: How to use WCF services in .netstandard with Xamarin.Forms project?

下一篇: How to solve System.ServiceModel.ServerTooBusyException in WCF?