【问题标题】:Transactional Write of multiple FileStreams in C#C# 中多个 FileStream 的事务性写入
【发布时间】:2015-11-16 16:41:09
【问题描述】:

我应该得到多个具有相同扩展名的文件(例如,一个分成多个档案的档案:rar、r00、r01 等)。

我正在尝试找到一种解决方案,如果我获得的文件流之一无法写入,则之前创建的所有成功文件都将被删除。 就像事务性文件流编写器一样。

我遇到了.NET Transactional File Manager 项目,这似乎正是我所需要的——除了它不适用于流,而是适用于文件路径。

此时我只看到两个选项:

  • 保留成功文件写入的列表,如果其他文件写入失败,我将检查该列表并全部删除。
  • 通过 FileStream 将所有文件写入 %TEMP% 或其他文件,然后 - 成功写入所有文件后,我将使用事务文件管理器(如上所述)将文件移动到所需位置。

需要注意我必须使用流

您认为这两个选项中哪个更好? 这样做有没有更好的建议或想法?

谢谢


编辑

我遇到的另一个选项是使用AlphaFS,就像下面的example 一样。 对此有什么想法吗?

【问题讨论】:

标签: c# file file-io transactions transactional


【解决方案1】:

我最终使用了 AlphaFS。 就像在this 示例中一样使用它。 它运行良好,完全符合我的需要。

感谢所有cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    相关资源
    最近更新 更多