1

Workflow Foundation (4.0)의 새 버전을 평가하고 있지만 사용자 지정 활동에 대해 약간 혼란 스럽습니다. 베타 1 비트를 사용하고 있습니다.Workflow 4.0의 사용자 지정 활동 : WorkflowElement 또는 Activity/CodeActivity?

사용자 지정 활동을 만들고 싶다면 WorkflowElement를 확장해야하며 사용자 지정 활동에 다른 활동을 저장하려면 활동을 확장해야한다고 생각합니다. 그러나 WorkflowElement에는 오버라이드 할 수없는 많은 추상적 인 내부 메서드가있는 것으로 보입니다.

동료는 비 컨테이너 (즉, 다른 활동을 보유하지 않음)가 CodeActivity를 확장해야한다고 생각합니다. 그러나 WF의 마지막 버전에서 CodeActivities는 기본 클래스가 아니 었으며 부모 작업 과정에서 메서드를 실행하는 활동이었습니다.

이 최신 단어는 무엇입니까? Workflow 4.0의 사용자 정의 액티비티에 기본 클래스를 사용하려면 어떻게해야합니까?

+0

베타 테스트 중에 질문이 제기되었습니다. 함께 움직여, 더 이상 볼 곳이 없어. – Will

답변

2

은 여전히 ​​파고 되었습니까이 발견 :

  • 활동 : 복합 활동 만들 때 사용 - 실행이 완전히 다른 활동의 조성물로서 표현의 활동을. 액티비티 유형으로 생성 한 액티비티는 (XAML을 사용하여) 선언적으로 디자인 할 수 있으며 명령형 코드를 허용하지 않습니다. 개념적 관점에서 보면 "워크 플로"(이 경우 일련의 활동을 연결하는 것으로 정의 됨)를 제작할 때 본질적으로 파생 된 "활동"클래스를 제작하고 있습니다.
  • CodeActivity : 사용자 지정 Execute 메서드를 구현하는 활동을 만들 때 사용되며 단기 실행 청크를 위해 설계되었습니다.
  • NativeActivity : 자식 활동 예약 및 책갈피 조작과 같은 WF 런타임 기능의 핵심에 대한 완전한 액세스 권한을 갖는 활동을 작성할 때 사용됩니다. 이는 최후의 수단으로 의도 된 것이며 많은 사람들이이 유형을 상속 받기를 기대하지 않습니다.
  • WorkflowElement : 이것은 모든 활동에서 파생되는 추상 기본 유형입니다.

출처 : http://blogs.msdn.com/endpoint/archive/2009/05/01/the-road-to-4-wf-changes-between-beta-1-and-ctp.aspx


NativeActivity. CodeActivity는 NA이지만 WIMP 용입니다. 또한, 이들의 비동기 버전이 있습니다.

+0

Cant가 실제로 편집하지만 AsyncCodeActivity 클래스를 추가한다고 생각했습니다. http://msdn.microsoft.com/en-us/library/system.activities.asynccodeactivity.aspx 기본적으로 코드 활동의 비동기 버전과 각 IE CodeActivity , NativeActivity 등의 제네릭 버전 ... 언제 활동에서 가치를 되돌려 줄 필요가있다. – Terrance

+0

@Ter dude 이것은 베타 1 일 후에 돌아 왔습니다. – Will

+0

어쩌면 완벽한 정보가 완성되어 일반적인 질문 인 것처럼 보입니다. 그렇다면 완전한 공통적 인 대답이없는 이유는 무엇입니까?나는 제목이 당신이 베타를 넣는다면 그 질문이 지역에있을 것이라고 생각할 것입니다. 그러나 그것의 단지 4.0이 그것의 관련성이 더 높다고 생각할 것입니다 – Terrance

0

CodeActivity에서 확장하면 WF 인스턴스 내부에 필요한 기본 기능이 제공됩니다. 이것은 가장 간단한 방법입니다.

WF 실행 일정을 변경하거나 (일부 조건에 따라 다른 활동을 예약하거나 책갈피를 작성하여 "대기"를 예약하려는 경우) NativeActivity에서 확장해야합니다.