我有包含一些相当大的字符串的数据数据库,每个字符串都包含一个序列化的分层数据集合(数据存储为字符串而不是二进制流以允许与 VB6 交互)。据我所知,任何返回超过 85,000 字节字符串的数据库查询都会立即将该字符串扔到大对象堆中。如果字符串立即被分割成更小的部分,因此大对象将是短暂的,有没有办法避免让这些对象进入大对象堆并无用地留在那里直到下一次 LOH 收集?我一直在阅读 LOH 对象应该被重用,但我不知道在这种情况下我将如何去做。
编辑——我将 SqlClient 对象与 DataReader 一起使用。