我是否仍应使用 BinaryFormatter 在 .NET 4.0 中进行简单序列化?

2024-01-11

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

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

为了快速解决方案,我目前正在考虑简单地使用BinaryFormatter然后用压缩流GZipStream。这是 .NET 4.0 的发展方向吗?


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

[field:NonSerialized]

On 所有其他措施(CPU 性能、带宽、版本鲁棒性、互操作性、维护成本等)我会选择其他格式:)

以下是一个选择简介:

WCF 绑定使用的序列化的性能测试 https://stackoverflow.com/questions/3790728/performance-tests-of-serializations-used-by-wcf-bindings/3793091#3793091

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我是否仍应使用 BinaryFormatter 在 .NET 4.0 中进行简单序列化? 的相关文章

随机推荐