您可以使用Web服务接口listWorkItems()
提供的方法。WorkflowService
我在这里添加了 Java 版本,显示了如何检索工作项数据,因为我对 C# 没有信心,但过程几乎相同:
WorkItemResult result = wfSvc.listWorkItems(null);
List<WorkItem> items = result.getWorkItems();
for (WorkItem item : items){
// Attached data
List<ApplicationData> dataList =
wfSvc.getWorkItemData(item.getProcessID(), item.getSubProcessID(), item.getID());
for (ApplicationData data : dataList){
if (data instanceof AttributeData){
AttributeData aData = (AttributeData) data;
AttributeGroupDefinition groupDef = aData.getAttributes();
for (Attribute attr : groupDef.getAttributes()) {
if (attr instanceof StringAttribute) {
StringAttribute sAttr = (StringAttribute) attr;
System.out.println("Attr: " + sAttr.getDisplayName()+ " (" + sAttr.getValues().get(0) + ")");
}
}
}
}
}
这里的要点是该listWorkItems
方法允许您轻松访问每个工作项的ProcessID
,SubProcessID
和ID
值。