.NET远程处理(Remoting)与WCF的性能对比

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:19 点击:
用TCP信道时,.NET远程处理默认的序列化器是System.Runtime.Serialization.Formatters.Binary.BinaryFormatter。WCF是用SOAP传送消息的,即格式是XML。可以设置XML的编码方式,选择编码为文本或二进制数据。下面测试用BinaryFormatter和WCF的序列化器序列化同一个对象时,哪一个产生的二进制流最短。
 
class Program 
   { 
       static void Main(string[] args) 
       { 
           Customer customer = new Customer { Age = 30, FirstName = "Gqq", LastName = "Nb" }; 
 
 
           using (FileStream stream1 = new FileStream(@"B:\binaryFormatter.bin", FileMode.Create)) 
           { 
               BinaryFormatter binFormatter = new BinaryFormatter(); 
               binFormatter.Serialize(stream1, customer); 
           } 
 
           using (FileStream stream2 = new FileStream(@"B:\xmlFormatter.bin", FileMode.Create)) 
           { 
               var serializer = new DataContractSerializer(typeof(Customer)); 
               XmlDictionaryWriter binaryWriter = XmlDictionaryWriter.CreateBinaryWriter(stream2); 
               serializer.WriteObject(binaryWriter, customer); 
               binaryWriter.Close(); 
           } 
       } 
   } 
 
   [DataContract] 
   [Serializable] 
   class Customer 
   { 
       private string fn; 
 
       [DataMember] 
       public string FirstName 
       { 
           get { return fn; } 
           set { fn = value; } 
       } 
 
       private string ln; 
 
       [DataMember] 
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET GridView列表代码示例
  • Asp.net MVC源码分析--Action Filter的链式调用
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1