我需要以编程方式从控制台应用程序中获取正在运行的工作流程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
答案 0 :(得分:1)
我认为你误解了AssociationData
。在将工作流程与列表关联后,关联数据仅输入一次。您说您在开始之前更改设置 - 在这种情况下,您正在谈论InitiationData
!
SPWorkflowActivationProperties.InitiationData会帮助您:
- >获取传递给工作流实例的初始数据。