SharePoint timer job add list items, but does not

2019-07-12 04:35发布

问题:

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).