问题标签 [binaryformatter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4411 浏览

c# - 使用 BinaryFormatter 反序列化我的序列化数据时出现异常

我正在使用BinaryFormatterand aMemoryStream序列化对象,然后将其作为二进制 blob 存储在数据库中。然后我从数据库中检索数据并使用 binaryformatter 和内存流进行反序列化。

但是,当我尝试反序列化对象时,我经常会抛出异常。最显着'an object with the same key already exists''cannot convert string to int64'

有谁知道为什么反序列化会失败?或者如何找出哪个字典对象有问题?

我的序列化功能如下...

UserData 类有点像怪物,但它被标记为 [serializable] 并且其对象树中的所有类也被标记为 [serializable]。本课程的一部分如下:

0 投票
3 回答
11184 浏览

c# - 将对象转换为字节[]

我正在尝试将检索到的注册表值从 转换objectbyte[]. 它存储为REG_BINARY. 我尝试使用BinaryFormatterwith MemoryStream。但是,它添加了我不想要的开销信息。当我通过执行函数将字节数组转换为字符串时,我观察到了这一点Convert.ToBase64String(..)。我正在执行这些功能,因为我正在测试注册表中加密密钥的存储和检索。

0 投票
1 回答
807 浏览

binaryformatter - 序列化异常

什么是异常“在解析完成之前遇到流结束”。在我的代码中?

0 投票
1 回答
5772 浏览

c# - DataContractSerializer 与 BinaryFormatter 性能

我正在阅读文章以了解有关 datacontractserializer 和 binaryformatter 序列化程序的更多信息。根据到目前为止所做的阅读,我的印象是 binaryformatter 应该比 datacontractserializer 占用更少的空间。原因是 DataContractSerializer 序列化为 xml 信息集,而 binaryformatter 序列化为专有二进制格式。

以下是测试

DataSet 填充了表中的121317[AdventureWorks].[Sales].[SalesOrderDetail]

问题 为什么 binaryformatter 的字节数比 datacontractserializer 多?不应该少很多吗?

0 投票
3 回答
6042 浏览

c# - 如何通过网络发送序列化对象?

我正在尝试建立聊天!现在我的目标是接收来自用户的输入(将被提供给类中的函数),保存并通过网络将对象发送给用户。

到目前为止,这是我的代码:

我将所有内容都保存在 binaryFormatter 中,如何将其发送给用户接收?

客户端代码:

0 投票
2 回答
35236 浏览

c# - BinaryFormatter 和反序列化复杂对象

无法反序列化以下对象图。当在 BinaryFormmater 上调用反序列化方法时会发生该异常: System.Runtime.Serialization.SerializationException :

C 上有两个构造函数,我认为问题可能是:虽然序列化 Binaryformatter 使用参数化的一个和反序列化过程,但它需要一个无参数的。有破解/解决方案吗?对象:

// 序列化成功

// 反序列化失败

调用在相同的环境,相同的线程,相同的方法

0 投票
6 回答
2261 浏览

c# - C# 中包含 1000 条记录的二进制文件格式

我想让一个数组模型对象序列化为二进制流。模型类将主要具有字符串和整数属性。

我相信我可以将类标记为 [Serializable] 并使用二进制格式化程序,但是我很想知道您是否认为这是最好的方法,请记住我的首要任务是传输尽可能小的文件通过低带宽连接(我也可以压缩/解压缩文件)。

该文件可能有 1000 条记录,因此理想情况下,我希望能够逐条记录地附加到磁盘并从磁盘读取,而不必一次将整个文件放在内存中。

所以我的优先事项是:小文件大小和有效的内存使用。

也许有一个预先编写的框架?使用 XML 和 CSV 文件似乎很容易!希望它也具有自定义二进制格式。

谢谢

0 投票
4 回答
2352 浏览

c# - C# ProgressBar 与 Deserialize()

我有一些已序列化的大型对象图,其中一些需要一些时间来反序列化。

在这个阶段,我对我的小“请稍候...”框感到非常满意,它出现然后在完成时消失,但我只是在玩弄在反序列化开始时有某种进度条的想法更长。

似乎没有任何方法可以获取对象内置Deserialize()方法的进度BinaryFormatter。我怀疑如果包含了这样的功能,就会有某种异步回调,只要从流中读取一个字节块,它就会轮询。

你们中的任何人都见过使用对象序列化/反序列化实现类似 ProgressBar 的行为吗?

0 投票
2 回答
1616 浏览

.net - BinaryFormatter *PERFORMANCE* 问题的序列化

背景:

我坚持使用 LARGE 对象图,该对象图被序列化为大约 60MB 的文件(并且会随着时间的推移而增长)。问题不在于文件大小,而是写入和读取时间,在某些机器上长达 4 分钟。

阴谋:

由于这代表某种内存数据库,我可以延迟加载其中的一些。

惊险:

如何测量特定对象块的加载时间?我是否记录构造函数调用并从那里开始?有更好的主意吗?

编辑:

我宁愿不谈论序列化的替代方案,有很多关于该主题的帖子,我宁愿调查为什么它这么慢以及对象图的哪一部分是“切除”和延迟加载的良好候选者。

0 投票
1 回答
877 浏览

.net - 使用 BinaryFormatter 对引用进行二进制序列化

鉴于以下类结构,Bar 会按预期进行序列化/反序列化吗?

我对几件事感到好奇:

1) BinaryFormatter 是否要求 Bar 类用 [Serializable] 属性装饰或实现 ISerializable 接口?

2) Foo 类是否也需要用 [Serializable] 属性装饰?

3) 如果 Bar 简单地用 [Serializable] 属性装饰,那么字段 Bar.SelectedFoo 是否会正确地保持其对数组的引用?还是我会得到一份 Foo 的副本?