.NET Remoting和Web服务等技术在很大程度上都依赖串行化。本书专门向开发人员介绍串行化在.NET中的重要性,论述串行化的易用性、强大功能和可定制性。\r\n 本书主要面向VB.NET开发人员,深入讨论.NET中的两个主要串行化机制——浅串行化和深串行化,阐述如何设计用于浅串行化和深串行化的类,并介绍了高级浅串行化和深串行化技术,最后简要介绍在使用.NET串行化机制时应重视的安全问题。\r\n 本书适合于已经编写、编译和运行过VB.NET代码,熟悉自己选择的开发工具的中高级VB.NET开发人员,也适合于对串行化技术感兴趣的开发人员。
第1章 .NET串行化简介\r\n\r\n1.1 什么是串行化\r\n1.1.1 为什么串行化非常重要\r\n1.1.2 串行化的基本方法\r\n1.2 .NET串行化概述\r\n1.2.1 .NET串行化的类型\r\n1.2.2 .NET串行化的优点\r\n1.3 何时使用串行化\r\n1.3.1 状态的保存\r\n1.3.2 在应用程序间交换数据\r\n1.4 接下来要学习的内容\r\n1.5 小结\r\n\r\n第2章 基本.NET串行化\r\n\r\n2.1 使用浅串行化\r\n2.1.1 System.Xml.Serialization命名空间\r\n2.1.2 使用XmlSerializer\r\n2.1.3 对对象进行XML串行化\r\n2.1.4 使用XML串行化的场合\r\n2.1.5 使用SOAP编码和XmlSerializer\r\n2.2 深串行化\r\n2.2.1 System.Runtime.Serialization命名空间\r\n2.2.2 使用格式化器\r\n2.2.3 控制基于格式化器的串行化\r\n2.2.4 对象图的深串行化\r\n2.2.5 通过深串行化克隆对象\r\n2.3 小结\r\n\r\n第3章 设计用于浅串行化的类\r\n\r\n3.1 从可串行化的类中定制XML串行化\r\n3.1.1 实现基本的学生应用程序\r\n3.1.2 使用XML属性定制串行化\r\n3.2 把XML串行化定制为SOAP编码格式\r\n3.2.1 把Student应用程序串行化为SOAP编码的XML格式\r\n3.2.2 使用SOAP属性定制串行化为SOAP编码格式的方法\r\n3.3 小结\r\n\r\n第4章 设计用于深串行化的类\r\n\r\n4.1 使用ISerializable接口定制格式化的串行化\r\n4.2 使用帮助类控制反串行化\r\n4.2.1 串行化和反串行化已有的.NET单一类型\r\n4.2.2 串行化和反串行化定制的单一类型\r\n4.3 正确反串行化复杂的对象图\r\n4.4 小结\r\n\r\n第5章 高级浅串行化技术\r\n\r\n5.1 在XML反串行化过程中处理本知的内容\r\n5.1.1 忽略未知的内容\r\n5.1.2 检测未知的内容\r\n5.1.3 处理未知的内容\r\n5.2 重写默认的XML串行化\r\n5.2.1 重写明文编码的XML串行化\r\n5.2.2 重写SOAP编码的XML串行化\r\n5.3 小结\r\n\r\n第6章 高级深串行化技术\r\n\r\n6.1 使用代理使类可串行化\r\n6.1.1 使用代理串行化公共状态\r\n6.1.2 使用带有反射的代理\r\n6.1.3 在代理选择器中组合代理\r\n6.1.4 把代理选择器串联到一起\r\n6.1.5 高效地使用代理类\r\n6.2 在反串行化时更改类型或程序集\r\n6.3 创建定制的格式化器\r\n6.4 小结\r\n\r\n第7章 安全地使用.NET串行化\r\n\r\n7.1 串行化安全概述\r\n7.1.1 串行化的安全问题\r\n7.1.2 本章的主要内容\r\n7.2 什么是代码安全性\r\n7.2.1 安全性的类型\r\n7.2.2 .NET Framewrk中的代码安全性\r\n7.2.3 引诱攻击\r\n7.2.4 .NET代码安全系统概述\r\n7.3 代码安全性和串行化\r\n7.3.1 串行化是一个级别很高的特权\r\n7.3.2 重写安全系统\r\n7.4 安全地存储串行化状态\r\n7.4.1 文件存储和部分信任\r\n7.4.2 使用孤立的存储器\r\n7.5 加密和串行化\r\n7.5.1 加密概述\r\n7.5.2 实现加密的串行化\r\n7.5.3 加密和串行化技术展望\r\n7.6 小结\r\n\r\n光盘使用说明
串行化是.NET Framework的幕后英雄.虽然.NET Remoting和Web服务声名鹊起, 但人们并末意识到这些技术实际上在很大程度上依赖于串行化机制.仔细研究一下ADO.NET, 就会发现DataSet在广泛使用串行化, 而COM Interop不能没有串行化, ASP.NET也使用串行化存储会话数据.
Wrox认为串行化为.NET所做的许多工作, 以及它能为VB.NET开发人员做的工作一直未得到应有的重视.Wrox编写本书, 专门向开发人员介绍串行化在整个.NET中的重要性, 更重要的是, 论述串行化的易用性.强大功能和可定制性.
如果读者要在应用程序的非运行期间保存VB.NET对象的状态, 通常串行化是最佳的选择(也常常是惟一的选择).因此本书希望帮助VB.NET开发人员更好地利用这个重要而有效的机制.
本书将讨论如何快速掌握.NET串行化技术.学习本书后, 读者应很好地理解如何使用NET的默认串行化机制来串行化类, 如何设计类, 优化它们自己的串行化过程, 如何定制机制以获得自己希望的串行化结果.本书将介绍一些处理棘手情况的技巧和提示, 例如反串行化单个对象.更妙的是, 读者将学习到需要进行串行化的场合, 在这种场合下, 应使用哪种类型的串行化.这将占去本书的大量篇幅, 让我们快速深入主题.
本书读者对象
VB.NET手册系列的所有书籍都是面向VB.NET开发人员的, 他们需要学习更多的知识来完成某项特定的任务.这些开发人员已经编写.编译和运行过VB.NET代码, 熟悉自己选择的开发工具.本书要完成的任务是介绍如何有效地控制和使用.NET的串行化机制.
本书主要内容
本书主要面向VB.NET开发人员, 深入探讨了串行化机制, 说明何时应使用串行化, 如何定制串行化, 以及为什么要使用串行化.我们将介绍一些好的经验, 指导读者根据自己的需要作出正确的选择.
●第1章:.NET串行化简介
首先讨论什么是串行化, 为什么需要在VB.NET程序中使用串行化.接着讨论.NET中的两个主要串行化机制——浅串行化和深串行化, 之后概述在默认情况下可以串行化的格式.最后介绍.NET中串行化的一般使用场合.
●第2章:基本.NET串行化
第1章概述了.NET串行化, 接着就要在本章开始使用.NET串行化技术了.本章将介绍如何把一个类浅串行化为XML格式, 和如何把类深串行化为二进制或SOAP格式.然后比较这两个串行化格式, 找出串行化对象的最佳方式.
●第3章:设计用于浅串行化的类
第2章介绍了如何以一种简单.默认的方式使用.NET串行化, 实际上在许多情况下这些默认的机制并不是很好.例如, 如果需要串行化为与默认的XML.SOAP或二进制格式不同的格式, 该怎么办?本章就介绍定制默认串行化机制的方式, 讨论如何给可串行化的类添加控制浅串行化格式的属性.
●第4章:设计用于深串行化的类
在讨论完在可串行化的类中定制浅串行化后, 就开始论述如何定制深串行化.这么做的一个原因是可以确保不使用反串行化创建几个单一的实例.
●第5章:高级浅串行化技术
有时需要定制串行化, 但不能访问可串行化类的源代码, 所以不能进行必要的修改.或者可以访问源代码, 但不能修改它们, 因为该类由其他应用程序使用.在这种情况下, 就需要一种方式在类的外部控制和定制串行化, 即在串行化代码中进行控制和定制.本章就讨论如何对浅串行化进行这种处理.
●第6章:高级深串行化技术
本章接着介绍如何在可串行化类的外部对深串行化进行定制.讨论这种技术如何帮助我们把对象旧版本中的数据反串行化为新版本, 或创建一个串行化格式化器, 把数据串行化为一种与XML.SOAP或二进制格式完全不同的格式.
●第7章:安全地使用串行化
本章介绍在使用NET串行化机制时应理解的安全问题.这包括如何串行化和存储敏感的数据, 如何加密已串行化的数据, 以及如何阻止有恶意的用户误用串行化/反串行化代码.