gpt4 book ai didi

c# - 网络服务 : Want to Return Serializable Dictionary But It Shows DataSet

转载 作者:行者123 更新时间:2023-12-05 00:04:35 27 4
gpt4 key购买 nike

我想从 web 服务返回 Dictionary 集合。由于我们不能直接从 web 服务返回字典类型,我按照 this link 中的描述制作了可序列化字典。

很好,我可以将集合返回为下面的 xml:

<?xml version="1.0" encoding="utf-8"?>
<SerializableDictionaryOfStringString xmlns="http://tempuri.org/">
<Item>
<Key>
<string xmlns="">k1</string>
</Key>
<Value>
<string xmlns="">abcdef</string>
</Value>

</Item>
<Item>
<Key>
<string xmlns="">k2</string>
</Key>
<Value>
<string xmlns="">xyz</string>
</Value>

</Item>
</SerializableDictionaryOfStringString>

但是,使用此 Web 服务时会出现问题。我的 Web 服务方法将返回数据类型显示为 DataSet,而不是 SerializableDictionary 返回类型。我不知道如何处理和利用返回数据,因为虽然它作为数据集返回,但它实际上不是数据集,我无法对它做任何事情,例如绑定(bind)到 gridview、ds.tables[0] 等。 ...

那么,我该如何操作来自 web 服务的返回数据呢?

最佳答案

字典不是 DTO(数据传输对象)最合乎逻辑的选择。

退一步,你想从Server返回给Consumer什么?

我认为这只是

class MyDTO { public string Key {get; set; } public string Value {get; set; } }

public List<MyDTO> Servermethod() { ... }

添加 [WebMethod] , [Serializable][OperationContract] , [DataContract]必要的属性。

然后由客户端从列表中创建字典,这很方便。

关于c# - 网络服务 : Want to Return Serializable Dictionary But It Shows DataSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5530130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com