다음을 통해 공유


Windows Workflow Foundation의 새로운 기능

.NET Framework 4의 WF(Windows Workflow Foundation)는 이전 버전의 여러 개발 패러다임을 변경합니다. 이제 워크플로를 더 쉽게 만들고, 실행하고, 유지 관리할 수 있으며, 새로운 기능을 다수 구현할 수 있습니다. 최신 버전을 사용하도록 .NET Framework 3.0 및 .NET Framework 3.5 워크플로 애플리케이션을 마이그레이션하는 방법에 대한 자세한 내용은 마이그레이션 지침참조하세요.

워크플로 활동 모델

이제 작업은 SequentialWorkflowActivity 또는 StateMachineWorkflowActivity 클래스를 사용하는 대신 워크플로를 만드는 기본 단위입니다. Activity 클래스는 워크플로 동작의 기본 추상화 기능을 제공합니다. 그런 다음 활동 작성자는 기본 사용자 지정 작업 기능에 대한 CodeActivity 구현하거나 런타임의 폭을 사용하는 사용자 지정 작업 기능에 대한 NativeActivity 구현할 수 있습니다. Activity 사용자 지정 개발 또는 Built-In 활동 라이브러리포함 여부와 관계없이 다른 NativeActivity, CodeActivity, AsyncCodeActivity또는 DynamicActivity 개체의 관점에서 선언적으로 새 동작을 표현하기 위해 활동 작성자가 사용하는 클래스입니다.

다양한 복합 작업 옵션

Flowchart 작성자가 임의 루프 및 조건부 분기를 모델링할 수 있는 강력한 새 제어 흐름 작업입니다. Flowchart 이전에는 StateMachineWorkflowActivity사용하여만 구현할 수 있었던 이벤트 기반 프로그래밍 모델을 제공합니다. 절차 워크플로는 TryCatchSwitch<T>같은 기존 흐름 제어 구조를 모델링하는 새로운 흐름 제어 작업의 이점을 활용합니다.

확장된 Built-In 활동 라이브러리

활동 라이브러리의 새로운 기능은 다음과 같습니다.

명시적 활동 데이터 모델

.NET Framework 4에는 데이터를 저장하거나 이동하기 위한 새로운 옵션이 포함되어 있습니다. 데이터는 Variable사용하여 활동에 저장할 수 있습니다. 작업 내부 및 외부로 데이터를 이동할 때 특수 인수 형식을 사용하여 데이터가 이동하는 방향을 결정합니다. 이러한 형식은 InArgument, InOutArgumentOutArgument. 자세한 내용은 Windows Workflow Foundation 데이터 모델 참조하세요.

향상된 호스팅, 지속성 및 추적 옵션

.NET Framework 4에는 다음과 같은 지속성 향상 기능이 포함되어 있습니다.

  • WorkflowServiceHost, WorkflowApplicationWorkflowInvoker포함하여 워크플로를 실행하기 위한 추가 옵션이 있습니다.

  • 워크플로 상태 데이터는 Persist 작업을 사용하여 명시적으로 유지할 수 있습니다.

  • 호스트는 언로드하지 않고 ActivityInstance 유지할 수 있습니다.

  • 워크플로는 지속할 수 없는 데이터로 작업하는 동안 지속되지 않는 영역을 지정할 수 있으므로 지속되지 않는 영역이 종료될 때까지 지속성이 연기됩니다.

  • 트랜잭션은 TransactionScope사용하여 워크플로로 전달될 수 있습니다.

  • 추적은 TrackingParticipant사용하여 더 쉽게 수행할 수 있습니다.

  • 시스템 이벤트 로그에 대한 추적은 EtwTrackingParticipant사용하여 제공됩니다.

  • 보류 중인 워크플로를 다시 시작하려면 이제 Bookmark 개체를 사용하여 관리됩니다.

WF 디자이너 환경을 보다 쉽게 확장할 수 있는 기능

새 WF 디자이너는 WPF(Windows Presentation Foundation)를 기반으로 하며 Visual Studio 외부에서 WF 디자이너를 다시 호스트할 때 사용하기 쉬운 모델을 제공하며 사용자 지정 활동 디자이너를 만들기 위한 보다 쉬운 메커니즘도 제공합니다. 자세한 내용은 워크플로 디자인 환경 맞춤 설정을 참조하세요.