如何在列表中捕获项目更改?

时间:2011-07-08 12:08:27

标签: sharepoint sharepoint-2010 workflow sharepoint-workflow

我在Sharepoint中创建了状态工作流程。

我的想法是:

1 /当启动工作流时创建启动工作流的列表项的副本,此副本将创建到当前网站集中的另一个Web列表 - 这是有效的

2 /监视父项的更改并将它们传播到复制项 - 这是有效的

3 /监控复制项目的更改并将它们传播回原始项目 - 这不起作用

我试图使用IListItemService,但显然它无法监视当前不同网络上的变化?有没有其他方法可以做到这一点?

我在考虑SharePoint 2010 Pluggable Workflow Services - 但在我的类中,派生自SPWorkflowExternalDataExchangeService方法,即使只调用了一次SPWorkflowExternalDataExchangeService.RaiseEvent(这是从自定义事件接收器调用),CallEventHandler也被调用了两次 - 另一个问题是这个解决方案是当我回收应用程序池时,我丢失了我的单例类,它负责维护RaiseEvent方法所需的状态信息列表。

1 个答案:

答案 0 :(得分:1)

为此目的,SharePoint中内置了一个事件机制。无需使用工作流程或复制项目。

Example: Creating a List Item Event Handler