1

Ich habe eine Frage bezüglich Sharepoint Workflows und Event Receivern. Ich habe einen Event-Empfänger, der Metadaten für ein Element setzt. Danach benutze ich einen Workflow, um Item-Metadaten in eine Liste zu kopieren. Leider kopiert der Workflow die vom Ereignisempfänger eingestellten Metadaten nicht. Ich denke, weil es vor dem Ereignisempfänger ausgeführt wird. Gibt es eine Möglichkeit, die Reihenfolge zu ändern, damit der Workflow nach dem Ereignisempfänger ausgeführt wird? Der Empfänger ist an die ItemAdded und ItemUpdated Events gebunden.SharePoint Workflow nach EventReceiver aufrufen

Vielen Dank für Ihre Hilfe! Patrick

Antwort

2

Sie können mit SPWorkFlowAssociation einen Workflow ausführen, der mit List oder Inhaltstyp verknüpft ist. Beispiel (Lauf Workflow nach Artikel hinzugefügt)

public override void ItemAdded(SPItemEventProperties properties) 
{ 

    SPList parentList = properties.ListItem.ParentList; 
    SPWorkflowAssociation associationTemplate =   
     parentList.WorkflowAssociations.GetAssociationByName("Your Workflow Name", 
     new CultureInfo 
     (Convert.ToInt32(parentList.ParentWeb.RegionalSettings.LocaleId))); 
    SPSite siteCollection = properties.ListItem.ParentList.ParentWeb.Site; 
     siteCollection.WorkflowManager.StartWorkflow(properties.ListItem, 
     associationTemplate, String.Empty); 

} 

Weitere Informationen über SPWorkflowAssociation Überprüfen Sie den untenstehenden Link

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.workflow.spworkflowassociation.aspx

0

SPListItem:

Die "Synchron" Ereignisse (-ing wie ItemAdd endet * ing *), werden immer vor dem Workflow ausgeführt.

Die "asynchronen" Ereignisse (-ed endend wie ItemAdd * ed *) werden immer nach der Ausführung des Workflows ausgeführt.

Sie müssen also die Eigenschaft "Synchronization" der Datei Elements.xml gleich "Synchronous" setzen, und der Workflow wird immer nach dem Ereignisempfänger ausgeführt.

ACHTUNG: Die hinzugefügten und aktualisierten Ereignisse werden standardmäßig asynchron ausgeführt. Sie müssen die Änderung in Elements.xml vornehmen.

Verwandte Themen