软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 化零为整WCF(9)-序列化
全文

化零为整WCF(9)-序列化

2008-05-25 07:00作者:webabcd出处:天极网责任编辑:nancy

  介绍

  WCF(Windows Communication Foundation) - 序列化:本文分别以DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, BinaryFormatter为例。

  示例

  1、服务

  DataContractSerializerObject.cs

 


 using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  using System.Runtime.Serialization;
  
  namespace WCF.ServiceLib.Serialization
  {
   /**//// 
   /// 用于演示DataContract序列化的实体类
   /// 
   // Namespace - 数据契约的命名空间
   [DataContract(Namespace = "http://webabcd.cnblogs.com/")]
   public class DataContractSerializerObject
   {
   // Name - 数据成员的名称
   // Order - 数据成员的序列化和反序列化的顺序
   [DataMember(Name = "UniqueID", Order = 0)]
   public Guid ID { get; set; }
  
   [DataMember(Order = 1)]
   public string Name { get; set; }
  
   [DataMember(Order = 2)]
   public int Age { get; set; }
  
   [DataMember(Order = 3)]
   public DateTime Time { get; set; }
   }
  }
  

  XmlSerializerObject.cs


  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  using System.Runtime.Serialization;
  using System.Xml.Serialization;
  
  namespace WCF.ServiceLib.Serialization
  {
   /**//// 
   /// 用于演示XML序列化的实体类
   /// 
   // Namespace - XML 根元素的命名空间
   [XmlRoot(Namespace = "http://webabcd.cnblogs.com/")]
   public class XmlSerializerObject
   {
   // ElementName - 生成的 XML 元素的名称
   // Order - 序列化和反序列化的顺序
   [XmlElement(ElementName = "UniqueID", Order = 0)]
   public Guid ID { get; set; }
  
   [XmlElement(Order = 1)]
   public string Name { get; set; }
  
   [XmlElement(Order = 2)]
   public int Age { get; set; }
  
   [XmlElement(Order = 3)]
   public DateTime Time { get; set; }
   }
  }
  

  SoapFormatterObject.cs

 


 using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  using System.Runtime.Serialization;
  using System.Xml.Serialization;
  
  namespace WCF.ServiceLib.Serialization
  {
   /**//// 
   /// 用于演示Soap序列化的实体类
   /// 
   [Serializable]
   public class SoapFormatterOjbect
   {
   public Guid ID { get; set; }
   public string Name { get; set; }
   public int Age { get; set; }
   public DateTime Time { get; set; }
   }
  }
  

  BinaryFormatterObject.cs

 


 using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  using System.Runtime.Serialization;
  using System.Xml.Serialization;
  
  namespace WCF.ServiceLib.Serialization
  {
   /**//// 
   /// 用于演示Binary序列化的实体类
   /// 
   [Serializable]
   public class BinaryFormatterObject
   {
   public Guid ID { get; set; }
   public string Name { get; set; }
   public int Age { get; set; }
   public DateTime Time { get; set; }
   }
  }
  

  DataContractJsonSerializerObject.cs


  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  using System.Runtime.Serialization;
  
  namespace WCF.ServiceLib.Serialization
  {
   /**//// 
   /// 用于演示JSON序列化的实体类
   /// 
   // Namespace - 数据契约的命名空间
   [DataContract(Namespace = "http://webabcd.cnblogs.com/")]
   public class DataContractJsonSerializerObject
   {
   // Name - 数据成员的名称
   // Order - 数据成员的序列化和反序列化的顺序
   [DataMember(Name = "UniqueID", Order = 0)]
   public Guid ID { get; set; }
  
   [DataMember(Order = 1)]
   public string Name { get; set; }
  
   [DataMember(Order = 2)]
   public int Age { get; set; }
  
   [DataMember(Order = 3)]
   public DateTime Time { get; set; }
   }
  }
  

共2页。 1 2 下一页 末页
相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众