SharePoint 20102011. 4. 5. 17:24

스케줄로 도는 워크플로우를 만들고 있습니다.

쉐어포인트가 제공하는 유형의 워크플로우가 아닌 백엔드의 로직처리만을 담당하는 워크플로우를 만들어서 타이머 잡으로 돌리려고 합니다.

타이머 잡에서 코드로 구현하면 되는 로직을 굳이 워크플로우로 만드는 이유는….

- 보기 좋으니까..

- 괜히 그러고 싶어서..

- 워크플로우 진행기록이 남으니까..

- 도전해 보고 싶은 마음에..

등등 이 있습니다.

 

일단 가능성을 보기 위해 순차 워크플로우 하나를 만들었습니다.

image

아무것도 손대지 않은 순수한 워크플로우 랍니다.

이건 리스트 워크플로우가 아닌 사이트 워크플로우로 만들었기 때문에, 배포 후 사이트 설정 > 워크플로 설정 에서 확인이 가능합니다.

image

 

테스트로 아래와 같은 코드를 만들어서 구동시키면 워크플로우가 시작됩니다.

구동방식에서 동기/비동기를 선택할 수 있습니다.

using (SPSite site = SPContext.Current.Site)
           {
               //throw new NotImplementedException();
               SPWorkflowManager SPWM = null;
               SPWorkflowAssociationCollection SPWAC = null;
               SPWM = site.WorkflowManager;
               SPWAC = site.OpenWeb().WorkflowAssociations;
               SPWorkflowAssociation SPWA = SPWAC.GetAssociationByName("Workflow1", System.Globalization.CultureInfo.CurrentCulture);
 
               SPWM.StartWorkflow(site, SPWA, "", SPWorkflowRunOptions.Asynchronous);
           }

 

잘 구동되었는지 확인을 하려면, 사이트 작업 > 모든 사이트 콘텐츠 로 이동하여 [만들기] 옆에 있는 [사이트 워크플로] 링크를 클릭하면 됩니다. 테스트로 두 번 실행하였는데 잘 동작했네요.

image

Posted by 랜스 lanslote

댓글을 달아 주세요