小编Soh*_*aza的帖子

如何确保系统级操作是原子的?任何模式?

我有一个方法,它按顺序在内部执行不同的子操作,并且在我想要回滚整个操作的任何子操作失败时.

我的问题是子操作不是所有的数据库操作.这些主要是系统级更改,例如在Windows注册表中添加内容,在指定路径创建文件夹以及设置权限等.子操作可能不止于此.

想要做这样的事情;

CreateUser(){

     CreateUserFtpAccount();

     CreateUserFolder();

     SetUserPermission();

     CreateVirtualDirectoryForUser();


     ....
     ....
     ....
     and many more

}
Run Code Online (Sandbox Code Playgroud)

如果上次操作失败,我想回滚所有以前的操作.

那么,这样做的标准方法是什么?是否有设计模式可以处理这个?

注意:我正在使用 C#.net

c# design-patterns

6
推荐指数
1
解决办法
168
查看次数

标签 统计

c# ×1

design-patterns ×1