获取正在运行的工作流的关联数据

时间:2012-09-12 13:52:37

标签: sharepoint sharepoint-2010 sharepoint-2007

我需要以编程方式从控制台应用程序中获取正在运行的工作流程AssociationData。现在我只能获得其父级AssociationData(列表中的工作流关联)。

using (SPSite site = new SPSite("http://sp:2200"))
    {
        using (SPWeb web = site.OpenWeb())
        {
            string parentAssociationData =
                web.Lists["TestWorkflow"].GetItemById(1).Workflows[0].
                    ParentAssociation.AssociationData;
        }
    }

我需要这样的东西

string neededData = item.Workflows[0].AssociationData;

因为当您手动启动工作流程并在开始之前更改其设置时:workflow.AssociationData != workflow.ParentAssociation.AssociationData

例如,我可以通过

在自定义工作流程中获取该数据
SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();
workflowProperties.AssociationData

1 个答案:

答案 0 :(得分:1)

我认为你误解了AssociationData。在将工作流程与列表关联后,关联数据仅输入一次。您说您在开始之前更改设置 - 在这种情况下,您正在谈论InitiationData
 SPWorkflowActivationProperties.InitiationData会帮助您:

  

- >获取传递给工作流实例的初始数据。