|
|
1
3
|
|
|
2
1
1) 编写一个实用程序,读取旧对象定义中的序列化对象。 2) 该实用程序以非序列化的方式将对象写入数据库(即,每个字段中都有一段数据,等等)。 不要养成序列化对象的习惯,不要将对象存储在持久性存储中的某个地方,以便以后检索。序列化不是为此而构建的。 在过去,您遇到了C程序员的问题:他们会在内存中创建一个结构,然后将该结构保存到文件中。然后结构的成员会改变,他们会想知道如何读回它,因为数据的编码不同。 随后出现了数据库格式、INI文件等,专门用于满足这一需求,因此以一种格式保存数据,然后能够无误地读取数据。 所以不要重复过去的错误。创建序列化是为了促进短期二进制存储和通过TCP/IP传输对象的能力。 最坏的情况是,将数据存储为XML,而不是序列化的二进制流。另外,据我所知,微软并不能保证从一个.NET版本的序列化数据可以从另一个版本读取。尽可能将数据转换为清晰的格式。 |