2014-09-11 122 views
0

美好的一天,启动多个工作流程的单一工作流程

我有一个列表,它具有创建idem时启动的自定义工作流程。我的工作流,我有一个codeActivity,在列表上创建多个项目。这反过来又启动了多个工作流程。

我有一个问题,即其中一个子工作流程无法启动时,父项目工作流程状态会从“正在进行”更改为“发生错误”。看起来它们是在同一个线程下启动的。我如何启动子工作流程以使它们独立运行?有没有办法让他们在自己的线程中运行?

这里目前正在使用的代码IM增加新的项目:

bool first = true; 
Foreach (file in files) 
{ 
    if(first) 
    { 
     workflowProperties.Item["Title"] = file; 
     workflowProperties.Item.Update(); 
     first = false; 
    } 
    else 
    { 
     var newItem = list.Items.Add(); 
     newItem["Title"] = file; 
     newItem.Update(); 
    } 

} 

回答

0

试试这个,看看会发生什么

bool first = true; 
var file = string.Empty 
Foreach (file in files) 
{ 
    var newItem = list.Items.Add(); 
    newItem["Title"] = file; 
    newItem.Update(); 
    if(first) 
    { file= file.name;    
     first = false; 
    }  
} 
workflowProperties.Item["Title"] = file; 
    workflowProperties.Item.Update(); 
+0

所有项目都正确添加。问题是,如果添加的任何项目无法启动,父项目工作流程会失败,状态会变为“发生错误” – 2014-09-11 13:21:59

0

尝试下面的代码,如果你不想intiate工作流程等物品

bool first = true; 
Foreach (file in files) 
{ 
    if(first) 
    { 
     workflowProperties.Item["Title"] = file; 
     workflowProperties.Item.Update(); 
     first = false; 
    } 
    else 
    { 
     var newItem = list.Items.Add(); 
     newItem["Title"] = file; 
    EventFiring eventFiring = new EventFiring(); 
    eventFiring.DisableHandleEventFiring(); 
     newItem.Update(); 
    eventFiring.EnableHandleEventFiring(); 
    } 

} 
+0

我想开始工作流程。我只是不希望任何子工作流程影响主要项目工作流程 – 2014-09-12 07:51:16