创建文件时使用事务
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的功能, 需要自己实现.