guoqp 发表于 2023-3-13 00:37:52

服务端命令中递归引用自身导致无法删除本命令

这个应该是可以重现出现的

就是创建一个服务端命令,在命令中引用自身,实现递归

当不需要该服务端命令后,想删除,发现删除不了,会提示有命令在引用,不允许删除,当然如果把递归引用删除后再来删除本服务端命令是可以通过的。

Erik.Xue 发表于 2023-3-13 09:31:53

您好,为什么要自身引用自己?如果想用服务端命令写递归,那么是不是应该有结束条件呢?

最好可以提供一个问题demo,这样方便理解你的需求哈。

guoqp 发表于 2023-3-13 10:01:25

Erik.Xue 发表于 2023-3-13 09:31
您好,为什么要自身引用自己?如果想用服务端命令写递归,那么是不是应该有结束条件呢?

最好可以提供一 ...

既然叫递归,那肯定得引用自己,至于退出条件那是肯定有的,出现这个问题是在于有引用就不能删除,这个逻辑没问题,可能以往检测引用并未检测是谁引用,我的理解是如果是自己引用自己,不应该列入限制删除的约束条件

Erik.Xue 发表于 2023-3-13 10:05:01

自己都引用自己了,那也是被引用了吧,既然有被引用的状态,删除如果不受约束是不是就有问题

guoqp 发表于 2023-3-13 10:16:44

Erik.Xue 发表于 2023-3-13 10:05
自己都引用自己了,那也是被引用了吧,既然有被引用的状态,删除如果不受约束是不是就有问题

没错,这个被引用了就不能轻易被删除的逻辑没问题,但你不觉得我们应该再加强一下引用对象的检查吗,如果是自身引用自身有什么不可删除的

我们之所以检查到有引用不让删除那是因为怕影响到其他地方,这个引用是自身,又不影响其他地方,为何不可删除

我的意思是建议忽略自身引用自身的引用检查

Erik.Xue 发表于 2023-3-13 11:45:16

好的,这边记录下尽快讨论下。
页: [1]
查看完整版本: 服务端命令中递归引用自身导致无法删除本命令