Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Workflow SharePoint计时器作业添加列表项,但不会触发关联的工作流_Workflow_Sharepoint Timer Job - Fatal编程技术网

Workflow SharePoint计时器作业添加列表项,但不会触发关联的工作流

Workflow SharePoint计时器作业添加列表项,但不会触发关联的工作流,workflow,sharepoint-timer-job,Workflow,Sharepoint Timer Job,我有一个名为“会话”的列表,该列表有一个用于创建、修改项目的工作流。当我使用web部件以及手动添加项目时,会触发工作流。我开发了一个每天运行的计时器作业,它将项目添加到“会话”列表中计时器作业向列表中添加项目时,不会触发工作流。使用API创建或编辑列表项目不会触发工作流。您必须使用该类自己触发它。SPSite的每个实例都具有该类型的属性,这是您应该使用的属性 您可以这样编码: SPSite site = foo; // Actually get your instance of SPSite b

我有一个名为“会话”的列表,该列表有一个用于创建、修改项目的工作流。当我使用web部件以及手动添加项目时,会触发工作流。我开发了一个每天运行的计时器作业,它将项目添加到“会话”列表中计时器作业向列表中添加项目时,不会触发工作流。

使用API创建或编辑列表项目不会触发工作流。您必须使用该类自己触发它。
SPSite
的每个实例都具有该类型的属性,这是您应该使用的属性

您可以这样编码:

SPSite site = foo; // Actually get your instance of SPSite by whatever is
                   // your favorite way to do so.

site.WorkflowManager.StartWorkflow(
        item,
        association,
        association.AssociationData,
        isAutoStart);

其中,
item
是您创建/编辑的SPListItem,
association
是将列表与实际工作流关联的实例,而
isAutoStart
是一个
boolean
变量,告诉工作流管理器工作流触发器的行为是否应该像自动启动的一样(在您的例子中,
true
)。

您是否有该语句的源代码,使用API创建或编辑列表项不会触发工作流?我见过其他帖子说他们需要,但需要,site.WorkflowManager.Dispose()。经验证据。你自己试试,谢谢你。我想你想说的是你是对的,其他人大错特错了我主要使用SharePoint Online,在那里您无法访问这些设置。我主要是根据经验讲的,但很高兴知道,使用内部安装,可以正常触发工作流,而无需额外编码。谢谢你:)