작업 3: 사용자 지정 활동 순차 워크플로 만들기
이 작업에서는 활동이 포함되지 않은 기본 순차 워크플로를 만듭니다. 자습서가 진행되면서 이 워크플로를 기반으로 호스트 응용 프로그램에 응답하는 데 필요한 활동과 논리를 추가할 것입니다.
참고
이 연습을 차례대로 수행하는 것이 좋지만 반드시 그럴 필요는 없습니다. 샘플 프로젝트를 열고 다음 단원의 단계를 진행하여 이 연습을 시작할 수 있습니다.
Visual Studio에서 SimpleExpenseReport 순차 워크플로 소스 파일을 만들려면
- 솔루션 탐색기에서 CustomActivity 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 클릭한 다음 새 항목을 클릭합니다. 클래스를 선택하고 이름을 WebTearWorkflow로 변경합니다.
텍스트 편집기를 사용하여 순차 워크플로 소스 파일을 만들려면
프로젝트 디렉터리에서 WebTearWorkflow라는 새 파일을 만듭니다.
C# 응용 프로그램을 만드는 경우 파일에 .cs 확장명을 지정하고 Visual Basic 응용 프로그램을 만드는 경우에는 파일에 .vb 확장명을 지정합니다.
작업 2: 사용자 지정 활동 호스트 응용 프로그램 만들기에서 추가한 ItemGroup 요소에서 새 Compile 요소를 추가합니다.
Include라는 새 특성을 Compile 요소에 추가합니다.
1단계에서 만든 파일 이름을 특성 값으로 사용합니다.
SubType이라는 새 자식 요소를 Compile 요소에 추가합니다.
이 요소에 Component 값을 지정합니다. ItemGroup 노드는 다음 코드와 같이 나타납니다.
<ItemGroup> <Compile Include="CustomActivityHost.vb"> <SubType>Form</SubType> </Compile> <Compile Include="WebTearWorkflow.vb"> <SubType>Component</SubType> </Compile> </ItemGroup>
<ItemGroup> <Compile Include="CustomActivityHost.cs"> <SubType>Form</SubType> </Compile> <Compile Include="WebTearWorkflow.cs"> <SubType>Component</SubType> </Compile> </ItemGroup>
순차 워크플로를 정의하려면
WebTearWorkflow 파일에서 다음 네임스페이스 지시문을 추가하여 워크플로에 필요한 형식을 가져옵니다.
using System; using System.Workflow.Activities; using System.Workflow.ComponentModel;
Microsoft.Samples.Workflow.Tutorials.CustomActivity 네임스페이스에서 WebTearWorkflow라는 새 sealed 클래스를 만듭니다.
이전 단계에서 만든 클래스를 SequentialWorkflowActivity에서 파생시킵니다.
Namespace Microsoft.Samples.Workflow.Tutorials.CustomActivity Public NotInheritable Partial Class WebTearWorkflow : Inherits SequentialWorkflowActivity End Class End Namespace
namespace Microsoft.Samples.Workflow.Tutorials.CustomActivity { public sealed partial class WebTearWorkflow : SequentialWorkflowActivity { } }
WebTearWorkflow 클래스에서 기본 생성자를 만듭니다.
생성자에서 다음 단계에서 만드는 InitializeComponent 메서드를 호출합니다.
WebTearWorkflow 클래스에서 InitializeComponent라는 private 메서드를 만듭니다.
InitializeComponent 메서드에서 다음 속성을 설정합니다.
워크플로의 CanModifyActivities 속성을 true로 설정합니다.
Name 속성을 "WebTearWorkflow" 값으로 설정합니다.
CanModifyActivities 속성을 false로 설정합니다.
private void InitializeComponent() { this.CanModifyActivities = true; this.Name = "WebTearWorkflow"; this.CanModifyActivities = false; }
코드 컴파일
코드 컴파일에 대한 자세한 내용은 코드 컴파일을 참조하십시오.
연습 2: 사용자 지정 활동 및 워크플로 만들기에서는 사용자 지정 활동을 만들어 이 작업에서 만든 워크플로에 추가합니다.
참고 항목
참조
SequentialWorkflowActivity
CanModifyActivities
기타 리소스
연습 2: 사용자 지정 활동 및 워크플로 만들기
자습서: 순차 워크플로 만들기
Simple Sequential Workflow
Copyright © 2007 by Microsoft Corporation. All rights reserved.