0

[更新]我不再使用事件,但我真的很想知道为什么会发生这种情况。

我有一个事件处理程序,可以在 umbraco 后台复制多语言站点的内容节点。

在我将我的 umbraco 数据库更改为同事的数据库之前,这一直运行良好(这对代码没有任何影响)。

单步执行我的代码,我看到处理程序没有被删除(或者更确切地说,它似乎被删除但无论如何都会触发)并且节点被一遍又一遍地复制。

foreach (var id in _listOfParentIds.Where(id => id != parentNode.Id))
{
      lock (Locker)
      {
            Document.New -= SaveLangDupelicates;    //  remove event to prevent it from firing after copying
            dupeDoc.Copy(id, User.GetCurrent(), true);  //  copy the document to the relevant parent node                                   
            Document.New += SaveLangDupelicates;    //  reinstate the event
      }
}

任何想法为什么会发生这种情况?

4

0 回答 0