目前正在进行XML序列化,但速度非常慢.寻找一种从文件中快速保存/加载信息的方法并不真正对它在光盘上的外观感兴趣(如果有什么我希望它被模糊,因为我不想手动编辑).
考虑二进制格式但是我不确定它是否能够序列化可能是自定义类型的属性等.
有任何想法吗?
究竟是什么数据?
使用xml,显而易见的答案是使用smoething GZipStream来压缩它 - 使其变得更小和模糊.您可以使用,BinaryFormatter但它很脆弱,IMO不适合长期存储.我会说"协议缓冲区",(也许是protobuf-net),但它取决于"自定义数据"是什么.但是如果你现在正在使用的话XmlSerializer,protobuf-net可能会在没有变化的情况下工作(可能会添加一些属性) - 并且它(在每种情况下我都看到过它)都比它更小更快BinaryFormatter.
这是陡峭的学习曲线(另请参阅:入门):
[ProtoContract]
public class Person {
[ProtoMember(1)]
public int Id {get;set;}
[ProtoMember(2)]
public string Name {get;set;}
//...
}
Run Code Online (Sandbox Code Playgroud)
公平地说,如果你使用继承,它会变得有点棘手 - 虽然不多.在许多情况下,您实际上可以使用现有属性 - 如果包含显式元素顺序,它将与xml/wcf属性一起使用.
| 归档时间: |
|
| 查看次数: |
1463 次 |
| 最近记录: |