我有一个方法,它按顺序在内部执行不同的子操作,并且在我想要回滚整个操作的任何子操作失败时.
我的问题是子操作不是所有的数据库操作.这些主要是系统级更改,例如在Windows注册表中添加内容,在指定路径创建文件夹以及设置权限等.子操作可能不止于此.
想要做这样的事情;
CreateUser(){
CreateUserFtpAccount();
CreateUserFolder();
SetUserPermission();
CreateVirtualDirectoryForUser();
....
....
....
and many more
}
Run Code Online (Sandbox Code Playgroud)
如果上次操作失败,我想回滚所有以前的操作.
那么,这样做的标准方法是什么?是否有设计模式可以处理这个?
注意:我正在使用 C#.net