[更新]我不再使用某个活动,但我真的想知道为什么会这样。
我有一个事件处理程序,它复制umbraco后台中的内容节点以用于multilang站点。
这是完美的工作,直到我将我的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
}
}
为什么会发生这种情况的任何想法?