다음을 통해 공유


사용자 지정 활동 만들기

기본 사용자 지정 활동을 만들려면 Activity 클래스나 파생 형식에서 상속하고, 사용자 지정 복합 활동을 만들려면 CompositeActivity 클래스나 파생 형식에서 상속해야 합니다.

참고

자식 활동이 포함된 사용자 지정 활동에서 상속하는 사용자 지정 활동은 만들 수 없습니다.

사용자 지정 활동 클래스는 사용자 지정 활동에 대한 속성, 이벤트 및 실행 논리를 정의합니다.

속성

사용자 지정 활동에서 두 가지 활동 속성인 메타 속성과 인스턴스 속성을 사용할 수 있습니다. 메타 속성은 런타임에 변경될 수 없으므로 디자인 타임에 속성을 리터럴 값으로 설정해야 합니다. 인스턴스 속성을 디자인 타임에 설정하거나 인스턴스 데이터에 바인딩할 수 있습니다. 이 경우 실제 값은 런타임까지 결정되지 않습니다. 워크플로 실행 중에 인스턴스 속성을 직접 수정할 수도 있습니다.

활동 속성에 대한 자세한 내용은 활동 속성 사용을 참조하십시오.

실행 논리

사용자 지정 활동을 만드는 경우 Execute 메서드를 통해 활동의 실행 논리를 명시적으로 처리해야 합니다. 활동에서 필요한 경우 추가 Activity 메서드를 재정의할 수 있습니다.

특성

다양한 특성으로 사용자 지정 활동을 데코레이트하여 로드할 활동 디자이너, 활동의 유효성을 검사할 때 사용할 유효성 검사기 등을 나타낼 수 있습니다. 다음 표에는 사용자 지정 활동을 데코레이트하는 데 사용할 수 있는 모든 특성이 나와 있습니다.

특성 설명

ActivityCodeGeneratorAttribute

사용자 지정 활동에 대한 컴파일 타임 코드를 생성하는 데 사용할 ActivityCodeGenerator 파생 클래스를 나타냅니다.

ActivityValidatorAttribute

사용자 지정 활동의 유효성을 검사하는 데 사용할 ActivityValidator 파생 클래스를 나타냅니다.

AlternateFlowActivityAttribute

활동이 대체 흐름을 지원함을 나타냅니다.

ContentPropertyAttribute

사용자 지정 활동의 특정 속성 이름이 serialize되지 않음을 나타냅니다.

DefaultEventAttribute

사용자 지정 활동의 기본 이벤트를 나타냅니다.

DesignerAttribute

사용자 지정 활동에 대한 디자인 타임 서비스를 구현하는 데 사용할 ActivityDesigner 파생 클래스를 나타냅니다.

DesignerCategoryAttribute

사용자 지정 활동에 대한 디자이너가 특정 범주에 속함을 나타냅니다.

DesignerSerializerAttribute

사용자 지정 활동을 serialize하는 데 사용할 serializer(ActivityMarkupSerializer, ActivityCodeDomSerializer, ActivityTypeCodeDomSerializer, CompositeActivityMarkupSerializer 또는 이들 중 하나의 파생 항목)를 나타냅니다.

PersistOnCloseAttribute

주변 활동이 실행을 완료할 때 현재 워크플로 인스턴스를 유지해야 함을 나타냅니다.

RuntimeNamePropertyAttribute

사용자 지정 활동에 대한 런타임 이름을 나타냅니다.

ToolboxBitmapAttribute

사용자 지정 Workflow Designer와 같은 컨테이너에서 사용자 지정 활동을 나타내는 데 사용할 아이콘을 나타냅니다.

ToolboxItemAttribute

사용자 지정 Workflow Designer와 같은 컨테이너에서 사용자 지정 활동과 함께 사용할 ActivityToolboxItem 파생 클래스를 나타냅니다.

ToolboxItemFilterAttribute

사용자 지정 Workflow Designer와 같은 컨테이너에서 사용되는 사용자 지정 활동에 사용할 필터 문자열과 필터 형식을 나타냅니다.

경고

사용자 지정 활동에서 PersistOnCloseAttribute를 사용하는 경우 사용자 지정 활동을 사용하는 워크플로는 사용할 유지 서비스를 지정해야 합니다. 이렇게 하지 않으면 워크플로가 시작될 때 예외가 throw됩니다.

기본 활동에서 사용하는 특성으로 사용자 지정 활동을 데코레이트하는 경우 재정의된 값이 사용자 지정 활동에 사용된다는 점에서 특성을 "재정의"할 수 있습니다. 예를 들어, 사용자 지정 활동에 대한 도구 상자 비트맵을 만들지만 기본 활동의 기본 serializer와 활동 유효성 검사기를 사용하려고 할 수 있습니다. 이렇게 하려면 ToolboxItemAttribute로 사용자 지정 활동을 데코레이트하고 값을 적절하게 설정하기만 하면 됩니다.

기본 Windows Workflow Foundation 활동에서 사용자 지정 활동 만들기

다음과 같은 활동 유형에서 사용자 지정 활동을 파생시킬 수 있습니다.

활동 유형 설명

Activity

모든 활동이 파생되는 기본 유형입니다.

CallExternalMethodActivity

로컬 통신 중에 호스트에서 메서드를 호출합니다.

CompositeActivity

모든 복합 활동은 이 유형에서 파생됩니다.

HandleExternalEventActivity

로컬 통신 중에 호스트에서 발생하는 들어오는 이벤트를 처리합니다.

SequenceActivity

자식 활동이 순서대로 실행되는 사용자 지정 복합 활동을 만드는 데 사용됩니다.

SequentialWorkflowActivity

순차 워크플로를 만드는 데 사용됩니다.

StateActivity

상태 시스템 워크플로에서 지정된 상태에 대한 이벤트나 초기화를 처리하는 데 사용됩니다.

StateMachineWorkflowActivity

상태 시스템 워크플로를 만드는 데 사용됩니다.

활동 사용자 지정

기능의 특정 부분을 캡슐화하는 관련 클래스의 집합을 사용하여 사용자 지정 활동의 기본 논리를 사용자 지정할 수 있습니다.

다음 단원에서는 이에 대해 자세히 설명합니다.

사용자 지정 복합 활동 만들기

사용자 지정 활동 Serialize

사용자 지정 활동을 사용한 코드 생성 방법

참고 항목

참조

Activity
CompositeActivity
ActivityBind

개념

활동 속성 사용
활동 유효성 검사 논리 개요
사용자 지정 활동 디자이너 만들기

기타 리소스

워크플로 활동 개발

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.