I have a list called "Sessions", The list has a workflow which runs for item creation, modification. The workflow triggers when i add items using a web part as well as manually . I have developed a timer job which runs daily, which adds items to "Sessions" list. When timer job add items to the list, workflow does not trigger.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Creating or editing a list item using the API will not trigger workflows. You have to use the SPWorkflowManager
class to trigger it yourself. Every instance of SPSite
has a property of just that type, which is what you should use.
You could code it like this:
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);
Where item
is the SPListItem which you have created/edited, association
is the instance of SPWorkflowAssociation
that correlates the list to the actual workflow, and isAutoStart
is a boolean
variable telling the workflow manager whether the workflow trigger should behave as something that was started automatically (in your case, true
).