名词解释:
按值编组:按值编组指的将在发送端只发送对象的状态,在接收端将状态还原回对象的传送方式
持久化:持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
对象状态:
临时状态(transient):刚刚用new创建,还没有被持久化,不处于Session缓存中。
持久化状态(persistent):已经被持久化,加入到Session的缓存中了。
游离状态(detached):已经持久化,但不在Session的缓存中了。
操作调用期间序列化和反序列化:
1. 序列化传入参数
2. 传输消息到服务
3. 反序列化传入参数
4. 执行操作
5. 序列化传出参数
6. 返回消息到客户端
7. 反序列化传出参数
客户端: 传入参数序列化操作(CLR本地表示转换成XML信息集,捆绑在客户端输出消息)
服务器端:反序列化(将XML信息机转换成CLR形式) 执行操作 序列化输出参数和返回值
客户端:反序列化,转换成CLR类型
使用BinaryFormatter进行串行化
使用SoapFormatter进行串行化
WCF使用了DataContractSerializer实现序列化和.Net序列化有一定差别