.NET 中的事务打开/写入/替换?

5 .net linux mono transactions file

我在想也许我应该将其限制为 8k。我想每次都打开一个文件并从头到尾写入。但是,如果由于某种原因(比如停电)它没有完成,我不想要损坏的数据。有没有办法可以打开/写入/关闭事务文件,这样它就不会替换以前的文件,除非它成功?

当我用谷歌搜索时,我得到了很多关于数据库事务和 ado 而不是文件的结果

Mar*_*ers 3

  1. 写入临时文件,
  2. 删除旧文件
  3. 仅当写入成功时才重命名临时文件。

如果在第二步之后第三步之前断电,为了防止数据丢失,您还需要执行一个步骤:

  • 程序启动时,检查主文件已删除但尚未重命名的临时文件。如果找到任何文件,请对这些文件再次执行第三步。