sách gpt4 ai đã đi

.net - 如何在 .NET 中序列化大对象? (内存不足异常)

In lại 作者:行者123 更新时间:2023-12-02 04:42:12 27 4
mua khóa gpt4 Nike

我在我的应用程序中使用序列化来实现“保存”功能。但是当数据太大(15+ MB)时,我开始遇到 OutOfMemory 异常。

我有很多对象,它们与其他小对象相连,我认为这会导致内存中的处理能力和数据过多。

我的代码是基于这个的,几乎一样:

http://www.codeproject.com/KB/vb/TreeViewDataAccess.aspx

biên tập:

  1. 我不使用自定义序列化,它都是通过 [Serialization] 属性完成的。排除部分字段。

  2. 我序列化了很多对象和自定义类。包括字典、结构和一堆其他东西。

  3. 我将它序列化到一个文件中。

  4. 我使用 XmlSerializer

附言我有 4 GB 物理内存。

Giải pháp

多亏了答案,我发现我的问题出在 XmlSerializer 上,我已经解决了它。二进制序列化可以很好地处理我得到的数据。

1 Câu trả lời

我遇到了完全相同的问题。原因是 .NET序列化不缩放。

我使用 Simon Hewitt 出色的 open 解决了这个问题源库,参见 Optimizing Serialization in .NET - part2 .

除了显着减少内存使用外,它还快点。类似文章我得到了20倍的加速。

关于.net - 如何在 .NET 中序列化大对象? (内存不足异常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/709399/

27 4 0
Bài viết được đề xuất: Meteor:如何绕过更新/升级
Bài viết được đề xuất: twitter-bootstrap - jScrollpane 不适用于 Bootstrap 选择器刷新方法
Bài viết được đề xuất: html - 仅使用一个元素的细长六边形按钮
Bài viết được đề xuất: Azure 部署槽 - 交换和保留连接字符串
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com