WCF 传输Dictionary<string, object>数据问题
来源:互联网 发布:类似花瓣的软件 编辑:程序博客网 时间:2024/05/16 11:47
本文传输的数据类为:
ManageRelationInfo GetRelationinfo(string userid, int target_type, int count, out bool isfinished);
其中 ManageRelationInfo 实体类为:
[KnownType(typeof(MongoDB.Bson.ObjectId))] public class ManageRelationInfo { [DataMember] public MongoDB.Bson.ObjectId _id; [DataMember] public ObjectId target_id { get; set; } private List<Dictionary<string, object>> _target_id2_list; [DataMember] public List<Dictionary<string, object>> target_id2_list { get{ return _target_id2_list;} set{_target_id2_list = value;} } [DataMember] public string remark { get; set; } [DataMember] public string bak_field { get; set; } [DataMember] public int comment_count { get; set; } /// <summary> ///自定义object 对象 目的让 WCF 序列化 Dictionary<string, object> 中的object 对象,从而通过 ///KnownType 识别其类型 /// </summary> [DataMember] [BsonIgnore] public object obj { get; set; } }
在 客户端接收数据的时候 发现报错 “***这可能是由于服务终结点绑定未使用 HTTP 协议造成的***”
我一开始认为 是由于传输数据量过大的问题 结果测试发现不是,原因是 WCF 无法序列化Dictionary<string, object> 包含object 类型的数据。
通过收集网上的资料以及解决办法,终于解决了这个问题。
我的Dictionary<string, object> 包含 Dictionary<string, int>,Dictionary<string, string>,Dictionary<string, ObjectId>三种类型的,其中string,int WCF肯定都能序列化的,我都测试过了。所以 只要在实体类上面声明下
[KnownType(typeof(MongoDB.Bson.ObjectId))]
这个类型 让 WCF识别这种类型的数据。接着就是 在实体类中添加 object 属性 让WCF明确知道Dictionary<string, object> 中的object 的存在
[DataMember] public object obj { get; set; }
以上是我个人理解,新手勿喷。。。
阅读全文
1 0
- WCF 传输Dictionary<string, object>数据问题
- WCF传输List<object>时序列化问题
- Dictionary 和 List<Dictionary<string, object>>
- 实现WCF传输大数据
- List<Dictionary<string,object>> 排序测试
- Dictionary Object
- Object Dictionary
- WCF传输大数据的设置
- WCF传输大数据的设置
- WCF传输大数据的设置
- XML多层复杂结构转Dictionary<String,Object>类型
- WCF传输数据量大的问题
- Flex连接wcf返回List<object>数据
- WCF 处理大数据问题
- 在WCF中分页传输数据(Duplex方式)
- 使用数字证书技术来保证WCF传输中的数据加密
- 在WCF中分页传输数据(Duplex方式)
- WCF 提高传输数据性能方法之一 (使用压缩)
- For循环创建图形
- Caesar 密码(POJ NO.1976)
- CSDN的Markdown编辑器使用1
- NGUI与Unity3d物体交叉显示的一种解决方案
- 计算:自然对数的底e和圆周率pi
- WCF 传输Dictionary<string, object>数据问题
- LeetCode 26. Remove Duplicates from Sorted Array
- Average UVA
- D
- Graham扫描法
- Java 异常注意事项
- kafka 零基础 实战
- ACM暑假集训日记 17.8.15 树状数组
- 监控利器Zabbix3.2.7之安装部署实践