8

我正在开发一个主从式应用程序。主应用程序将状态数据发送到从属设备以某种恒定速率进行处理和显示。状态数据被包装到一个包含许多字段的类中。这些字段类型由原语、类、接口、接口列表等组成。所有类型都是 BCL 或自定义类型,因此可以根据需要修改自定义类型。主应用程序和从属应用程序都将是 .NET 4.0。我不关心序列化版本控制,因为主应用程序和从属应用程序将成对交付。

我需要一种“快速”的方法来序列化主设备上的状态数据并在从设备上反序列化它。当我说“快速”时,我更多地谈论的是开发时间(但如果解决方案很糟糕,处理时间可能是一个因素)。然而,master 和 slave 将分布在 WAN 上,因此某种程度的紧凑性也很好。

对于一个快速的解决方案,我目前正在考虑简单地使用BinaryFormatter然后使用GZipStream. 这是.NET 4.0的方式吗?

4

2 回答 2

5

如果开发速度是关键(特别是因为您有接口等,您需要为某些序列化程序适当配置),那么也许。只要记住将任何事件标记为:

[field:NonSerialized]

所有其他方面(CPU 性能、带宽、版本的稳健性、互操作性、维护成本等)我会选择其他格式:)

这是一个选择的简介:

WCF 绑定使用的序列化的性能测试

也许并不奇怪(因为我写了它),但我倾向于 protobuf-net...

于 2011-03-12T18:54:56.903 回答
2

在此处查看 Protocol Buffers:Fast and compact object serialization in .NET

于 2011-03-12T19:01:13.587 回答