数据未在内存流C#中正确保存

时间:2012-07-28 13:33:31

标签: c# file-io html-agility-pack

我正在使用HtmlAgilityPack并在MemoryStream中保存html文档:

       MemoryStream ms = new MemoryStream();
       HtmlDocument doc = new HtmlDocument();
       doc.load(path);
       . 
       .
       doc.Save(ms);

现在问题是,有时文档完全保存,有时文档的某些内容(从结尾)丢失,它没有保存文档。任何人都可以告诉我为什么会这样,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

保存此

后尝试添加
memoryStream.Seek(0, System.IO.SeekOrigin.Begin)

答案 1 :(得分:-1)

使用流(或任何实现IDisposible的内容)时,请确保有效管理内存。 .Net垃圾收集可以随时启动,结果可能无法预测。

这有时像将变量包装在using()语句中一样简单:

        using(var ms = new MemoryStream()) {
            var doc = new HtmlDocument();
            doc.Load(path);
            doc.Save(ms);
        }