Sharepoint SPListItem上的SPWorkflowCollection始终为空

Sharepoint SPListItem上的SPWorkflowCollection始终为空,sharepoint,workflow,wss,wss-3.0,Sharepoint,Workflow,Wss,Wss 3.0,我在Sharepoint工作流和相关任务列表方面遇到问题 我有两个我们为产品创建的自定义工作流。它们都使用具有从任务内容类型继承的自定义内容类型的相同任务列表 现在,我遇到了一个通过列表或文档删除正在运行的工作流的情况,这会导致孤立的任务 我想覆盖删除事件上的任务列表,以便用户可以清理他们的任务,这样它就不会包含不必要的孤立任务。所以我的项目删除看起来像这样 public override void ItemDeleting(SPItemEventProperties properties) {

我在Sharepoint工作流和相关任务列表方面遇到问题

我有两个我们为产品创建的自定义工作流。它们都使用具有从任务内容类型继承的自定义内容类型的相同任务列表

现在,我遇到了一个通过列表或文档删除正在运行的工作流的情况,这会导致孤立的任务

我想覆盖删除事件上的任务列表,以便用户可以清理他们的任务,这样它就不会包含不必要的孤立任务。所以我的项目删除看起来像这样

public override void ItemDeleting(SPItemEventProperties properties)
{
   SPListItem currentListItem = properties.ListItem;
}
问题是,当我进入调试模式并检查currentListItem.Workflows.Count字段时,它总是0。无论启动哪个工作流或查看哪个任务,返回的SPWorkflowCollection始终为空:(


我想知道这是否与我们的自定义工作流中的一个错误有关,该错误没有正确连接(但它正确完成,并且在工作流终止时任务被删除)或者我看得不对吗?

您在作用域中的
currentListItem
是任务项本身,而不是工作流所针对的列表项。该任务没有针对其运行的工作流,因此预计计数为零


如果您试图访问与要删除的项目上的工作流关联的工作流任务,则在激活工作流的每个列表上都需要此类事件处理程序,而不是在工作流用于存储其任务的任务列表上。

Ahh…我明白了,没有任何与我正在处理的列表项目相关的工作流。问题是我我的做法是相反的,即我有一个由工作流创建的任务项,我想检查该工作流是否仍在运行,以查看是否可以删除该任务:)