SharePoint 2010 - SPItemEventReceiver初始化了12次

时间:2010-08-10 20:32:12

标签: c# sharepoint sharepoint-2010

我正在开发SharePoint 2010集成,该集成具有SPItemEventReceiver,用于处理文档库列表的ItemAdded和ItemUpdated事件。我添加了一个构造函数来处理事件接收器的一些初始化。在测试/调试中,我注意到当我的功能被激活时(包含此事件接收器的功能),我的事件接收器被初始化了12次。我一直试图弄清楚为什么构造函数被调用12次,并想知道是否所有12个实例都将存活,直到该功能被停用或者我需要小心,因为其中一些可能是垃圾收集在路上。任何人都知道为什么有12岁,他们的一生是什么?

4 个答案:

答案 0 :(得分:1)

我不会说幻数12是相关的;它只是为你缩放。无论如何,SharePoint事件接收器不应该依赖于单例语义。重要的是,对于每个独特的事件,您可以确定这些事件接收器中只有一个将处理该事件,除非您不小心将12添加到同一个列表中; - )

-Oisin

答案 1 :(得分:0)

使用资源管理器视图删除12个文件会导致这种影响。

答案 2 :(得分:0)

确保在功能停用时删除事件接收器。这在开发环境中发生了很多,因为许多人在功能激活中创建了激活的代码,但没有在停用代码中创建激活的代码,最终在列表中有一堆接收器等。

答案 3 :(得分:0)

您也可以尝试在课堂上创建静态成员,这样可以获得您所追求的一些内容。你必须测试它,我不能保证会有效。