C# 如何使用在dotne core中返回数据集的WCF方法?
我必须与外部的WCF服务,这是在dotnet框架写我的项目是dotnet核心。此服务中的一个方法返回数据集作为结果。 当我在dotnet framework测试项目中使用vs2017创建此服务的客户端时,有一个具有此签名的方法: 任务SomeMethodAsync(int[]args) 但当我在dotnet core应用程序中执行创建soap客户端的相同步骤时,此签名更改为: 任务SomeMethodAsync(int[]args) 哪个SomeMethodResponse仅具有类型为ArrayOfXElement的结果属性。在这个结果中我们有两个项目。一个用于结果的模式。另一个是主要数据C# 如何使用在dotne core中返回数据集的WCF方法?,c#,.net,wcf,.net-core,C#,.net,Wcf,.net Core,我必须与外部的WCF服务,这是在dotnet框架写我的项目是dotnet核心。此服务中的一个方法返回数据集作为结果。 当我在dotnet framework测试项目中使用vs2017创建此服务的客户端时,有一个具有此签名的方法: 任务SomeMethodAsync(int[]args) 但当我在dotnet core应用程序中执行创建soap客户端的相同步骤时,此签名更改为: 任务SomeMethodAsync(int[]args) 哪个SomeMethodResponse仅具有类型为Array
- 现在我想知道有没有办法生成相同的签名
- 如果答案是否如何将此结果转换为可处理的类型,如列表或数据集李>
- 我找到了另一种解决方案。我通过以下步骤生成类:
- 将响应的架构部分复制到名为file.xsd的文件
- 打开visual studio命令提示符并执行此命令xsd file.xsd/classes
- 将生成的类添加到我的解决方案中李>
XSDGeneratedClass cls = new XSDGeneratedClass(); XmlSerializer xsr = new XmlSerializer(typeof(XSDGeneratedClass)); var nodeString = dataset.openTempfllistResult.Nodes[1].LastNode.ToString(); cls = (NewDataSet)xsr.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(nodeString)));
cls现在充满了服务数据。我找到了另一种解决方案。我通过以下步骤生成类:- 将响应的架构部分复制到名为file.xsd的文件
- 打开visual studio命令提示符并执行此命令xsd file.xsd/classes
- 将生成的类添加到我的解决方案中李>
cls现在充满了服务数据XSDGeneratedClass cls = new XSDGeneratedClass(); XmlSerializer xsr = new XmlSerializer(typeof(XSDGeneratedClass)); var nodeString = dataset.openTempfllistResult.Nodes[1].LastNode.ToString(); cls = (NewDataSet)xsr.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(nodeString)));