지침

2009-05-28 5 views
1

우리는 달력을 표시하고 우리는 워크 플로우를 통해이 시스템의 여러 측면을 자동화하려고하는 등 약속지침

을 관리하는 SharePoint 사이트를 워크 플로우.

각 워크 플로는 일괄 처리됩니다.

문제는 항목을 수정하면 자동으로 실행되기를 바랍니다. 그러나 때때로 워크 플로 자체가 다른 항목을 수정하여 워크 플로를 다시 트리거합니다. ...

이러한 경쟁 조건을 어떻게 피할 수 있습니까?

답변

2

헤드는 최대 : 나는 당신이 프로그램 목록 항목 이벤트 수신기를 통해이 작업을 수행 할 수 있습니다 SP 이벤트의 경우 특히

워크 플로우에 이것을 테스트하지 않았습니다.

이벤트 수신기를 목록에 첨부하면 특정 시퀀스에 대해 이벤트 발생을 명시 적으로 비활성화 할 수 있습니다. 이렇게하면 초기 이벤트의 결과로 후속 이벤트가 시작되지 않습니다.

이 동작은 이벤트 수신기에서 워크 플로를 시작하는 한 워크 플로로 이어집니다.

public class ListItemEventReceiver : SPItemEventReceiver 
{ 
    #region SPItemEventReceiver Interface 
    public override void ItemAdded(SPItemEventProperties properties) 
    { 
     this.DisableEventFiring(); 

     // trigger your workflow here 

     this.EnableEventFiring(); 
    } 
}