Remoting系列专题---自定义序列化类
2006-08-29 15:10
239 查看
最近项目开发中的传输数据是围绕Remoting而召开的,所以想把所有的数据实体都定义统一的格式,于是就写了一个基于DataTable的基类BaseModal,其他数据实体全部继承于它。此BaseModal基类还包括了一些其他的自有的属性,例如pageSize每页记录数、currentPage当前页码等等,代码如下:
2
14
22using System;
23using System.Data;
24using System.Text;
25using System.Runtime.Serialization;
26
27namespace Colorful.Model
28
结果发现数据在放序列化的时候出错,发现原来是没有加入序列化和反序列化构造函数,虽然BaseModal继承于DataTable,并且加入了[Serializable]树序列化属性,但是要实现想继承序列化,还是要加入构造函数,于是加入:
1
14
20 public override void GetObjectData(SerializationInfo info, StreamingContext context)#region public override void GetObjectData(SerializationInfo info, StreamingContext context)
21 // -----------------------------------------------------------------------------------------
22 /**//// <summary>
23 /// 序列化函数
24 /// </summary>
25 /// <param name="info">序列化所需的全部数据</param>
26 /// <param name="context">目标描述</param>
27 public override void GetObjectData(SerializationInfo info, StreamingContext context)
28 info.AddValue("index", index);
30 info.AddValue("pageSize", pageSize);
31 info.AddValue("currentPage", currentPage);
32 info.AddValue("pages", pages);
33 info.AddValue("totalRecord", totalRecord);
34 info.AddValue("description", description);
35 base.GetObjectData(info, context);
36 }
37 // -----------------------------------------------------------------------------------------
38 #endregion
OK,一切搞定了
2
14
22using System;
23using System.Data;
24using System.Text;
25using System.Runtime.Serialization;
26
27namespace Colorful.Model
28
结果发现数据在放序列化的时候出错,发现原来是没有加入序列化和反序列化构造函数,虽然BaseModal继承于DataTable,并且加入了[Serializable]树序列化属性,但是要实现想继承序列化,还是要加入构造函数,于是加入:
1
14
20 public override void GetObjectData(SerializationInfo info, StreamingContext context)#region public override void GetObjectData(SerializationInfo info, StreamingContext context)
21 // -----------------------------------------------------------------------------------------
22 /**//// <summary>
23 /// 序列化函数
24 /// </summary>
25 /// <param name="info">序列化所需的全部数据</param>
26 /// <param name="context">目标描述</param>
27 public override void GetObjectData(SerializationInfo info, StreamingContext context)
28 info.AddValue("index", index);
30 info.AddValue("pageSize", pageSize);
31 info.AddValue("currentPage", currentPage);
32 info.AddValue("pages", pages);
33 info.AddValue("totalRecord", totalRecord);
34 info.AddValue("description", description);
35 base.GetObjectData(info, context);
36 }
37 // -----------------------------------------------------------------------------------------
38 #endregion
OK,一切搞定了
相关文章推荐
- Remoting系列专题---自定义序列化类
- 学习Microsoft .Net Remoting系列专题(Marshal、Disconnect与生命周期以及跟踪服务)
- Microsoft .Net Remoting系列专题之二 Marshal、Disconnect与生命周期以及跟踪服务
- Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
- [C# 网络编程系列]专题三:自定义Web服务器
- Microsoft .Net Remoting系列专题(转)
- Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
- Microsoft .Net Remoting系列专题之三
- Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
- Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
- Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
- Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇 (转)
- Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
- Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
- Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务
- 【转】Microsoft .Net Remoting系列专题之一
- [C# 网络编程系列]专题四:自定义Web浏览器
- Microsoft .Net Remoting系列专题之二
- Re:[转]Microsoft .Net Remoting系列专题
- microsoft .net remoting系列专题之一