0

我对在没有调用堆栈的情况下抛出的访问冲突(尝试读取或写入受保护的内存)感到疯狂。我做了一些搜索,显然这表明问题发生在非托管代码中。

通过一些日志记录,它似乎发生在一个并行的 foreach 循环中,我正在其中编写一些文件。这敲响了一些警钟,因为显然 GZipStream 在幕后使用了非托管代码。

任何人都可以发现任何问题吗?

using (MemoryStream memStream = new MemoryStream())
{
    Serializer.Serialize<Document>(memStream, doc);

    using (FileStream compressedFileStream = File.Create(archive))
    using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionLevel.Optimal, false))
    {
         memStream.WriteTo(compressionStream);
    }
}
4

0 回答 0