美好的一天,
我有一个列表,其中包含一个自定义工作流,该工作流在创建一个idem时启动。我的工作流程有一个codeActivity,可以在列表中创建多个项目。这反过来又启动了多个工作流程。
我遇到的问题是,当其中一个子工作流无法启动时,父项工作流状态会从“正在进行中”更改为“发生错误”。它们似乎是在同一个线程下启动的。如何启动子工作流程以使它们独立运行?有没有办法让它们在自己的线程中运行?
以下是我目前用于添加新项目的代码:
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 :(得分: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();
答案 1 :(得分:0)
如果您不想启动其他项目的工作流程,请尝试以下代码
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();
}
}