2014-09-11 112 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