1
我已经编写了一个事件接收器,它以编程方式启动工作流,但它需要启动工作流的id(guid)。如何获取我在Sharepoint Designer中创建的工作流程的ID?如何获取在Sharepoint Designer中创建的工作流的ID?
我已经编写了一个事件接收器,它以编程方式启动工作流,但它需要启动工作流的id(guid)。如何获取我在Sharepoint Designer中创建的工作流程的ID?如何获取在Sharepoint Designer中创建的工作流的ID?
由于您在SPD中创建了工作流,因此您应该知道工作流关联的列表以及工作流的名称。有了这些信息,这应该工作:
Guid workflowGuid = list.WorkflowAssociations.GetAssociationByName(WORKFLOW_NAME, CULTURE_INFO).Id;
如果你不知道或不想处理CultureInfo的一部分,我想你也可以遍历SPWorkflowAssociationCollection,只是找到合适的工作流程,但是这段代码对我来说似乎更清晰。
我周围有一个按名称查找工作流的想法,但名称并不保证是唯一的,如果有人重命名工作流,则必须重新编译事件接收器。好吧。这将工作。感谢您向我展示GetAssociationByName方法。我甚至不知道它存在 – Kilhoffer 2008-10-14 21:01:17