日期:2014-05-20  浏览次数:20687 次

创建文件时使用事务
private void A()
  {
  File.CreateText(@"E:\1\1.txt");
   
   
  } 
  private void B()
  {
  File.CreateText(@"E:\1\2\1.txt");//E:\1\2\这个目录是不存在的
  }

private void C()
{
A();
B();
}

我现在想实现,如果B文件创建不成功的时候,A也不创建,要怎么操作。
执行的顺序必须是先执行A();

------解决方案--------------------
看不懂,什么叫做“使用事务”?你是说什么事务呢?谁发明的?有谱吗?
------解决方案--------------------
笨方法,b失败了,A在删除。
另外看看 command模式
------解决方案--------------------
很可惜,文件系统没有Rollback的功能,要实现类似事务的功能,就只有自己手工记录trail了。
几个方法是必须实现的
C# code

public interface IFileTransaction
{
void Commit();
void Rollback();//回滚Trail记录的每一个操作
void Trail(object operation);//按顺序记录每一个操作。
}

------解决方案--------------------
Mark 晚上回去帮你写 总之一句话 文件系统没有Rollback的功能, 需要自己实现.