首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在EventReceiver之后调用SharePoint工作流

在EventReceiver之后调用SharePoint工作流
EN

Stack Overflow用户
提问于 2010-12-19 22:47:25
回答 2查看 4.1K关注 0票数 1

我有一个关于sharepoint工作流和事件接收器的问题。我有一个事件接收器,它在一个元素上设置元数据。之后,我使用工作流将项目元数据复制到列表中。不幸的是,工作流不会复制由事件接收者设置的元数据。我想是因为它是在事件接收器之前执行的。是否有可能更改顺序,以便在事件接收者之后执行工作流?接收器以同步的方式绑定到ItemAdded和ItemUpdated事件。

谢谢你的帮助!帕特里克

EN

回答 2

Stack Overflow用户

发布于 2010-12-20 14:13:53

您可以使用SPWorkFlowAssociation运行与列表或内容类型关联的工作流。示例(添加项目后运行工作流)

代码语言:javascript
复制
public override void ItemAdded(SPItemEventProperties properties)  
{  

    SPList parentList = properties.ListItem.ParentList;  
    SPWorkflowAssociation associationTemplate =         
      parentList.WorkflowAssociations.GetAssociationByName("Your Workflow Name",   
      new CultureInfo  
        (Convert.ToInt32(parentList.ParentWeb.RegionalSettings.LocaleId)));  
    SPSite siteCollection = properties.ListItem.ParentList.ParentWeb.Site;  
      siteCollection.WorkflowManager.StartWorkflow(properties.ListItem,  
      associationTemplate, String.Empty);  

}  

有关SPWorkflowAssociation的更多信息,请查看以下链接

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.workflow.spworkflowassociation.aspx

票数 2
EN

Stack Overflow用户

发布于 2014-01-24 22:43:32

SPListItem:

“同步”事件(-ing结尾如ItemAdd*)总是在工作流之前执行。

"Asynchronous“事件(-ed结尾如ItemAdd*ed*)总是在工作流执行之后执行。

因此,您必须将Elements.xml文件的"Synchronization“属性设置为"Synchronous”,工作流将始终在事件接收器之后执行。

注意:默认情况下,添加和更新的事件异步运行,因此您必须在Elements.xml中进行更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4483446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档