다음을 통해 공유


.NET Framework 4에서 Interop 활동과 함께 .NET Framework 3.0 WF 활동 사용

이 항목은 Windows Workflow Foundation 4에 적용됩니다.

Interop 활동은 .NET Framework 4 워크플로에서 .NET Framework 3.5(WF 3.5) 활동을 래핑하는 .NET Framework 4(WF 4) 활동입니다. WF 3 활동은 단일 리프 활동이거나 전체 활동 트리입니다. .NET Framework 3.5 활동의 실행(취소 및 예외 처리 포함)과 지속성은 실행 중인 .NET Framework 4 워크플로 인스턴스의 컨텍스트 내에서 발생합니다.

Ee264173.note(ko-kr,VS.100).gif Visual Basic 참고:
워크플로 프로젝트의 대상 프레임워크 설정을 .NET Framework 4로 설정하지 않으면 Interop 활동이 Workflow Designer 도구 상자에 나타나지 않습니다.

Interop 활동에서 WF 3 활동 사용을 위한 기준

WF 3 활동을 Interop 활동 내에서 성공적으로 실행하려면 다음 기준을 충족해야 합니다.

Interop 활동에서 WF 3 활동 구성

상호 운용 경계에서 WF 3 활동을 구성하여 데이터를 주고 받으려면 WF 3 활동의 속성 및 메타데이터 속성을 Interop 활동에서 노출해야 합니다. WF 3 활동의 메타데이터 속성(예: Name)은 ActivityMetaProperties 컬렉션을 통해 노출됩니다. 이 컬렉션은 WF 3 활동의 메타데이터 속성 값을 정의하는 데 사용되는 이름-값 쌍의 컬렉션입니다. 메타데이터 속성은 Metadata 플래그가 설정되는 종속성 속성에 의해 지원되는 속성입니다.

WF 3 활동 속성은 ActivityProperties 컬렉션을 통해 노출됩니다. 이 컬렉션은 이름-값 쌍의 집합이며 각 값은 WF 3 활동 속성의 인수를 정의하는 데 사용되는 Argument 개체입니다. WF 3 활동 속성의 방향을 유추할 수 없기 때문에 모든 속성이 InArgument/OutArgument 쌍으로 표시됩니다. 속성의 활동 용도에 따라 InArgument 항목, OutArgument 항목 또는 둘 모두를 제공할 수 있습니다. 컬렉션에서 InArgument 항목에 필요한 이름은 WF 3 활동에 정의된 속성 이름입니다. 컬렉션에서 OutArgument 항목에 필요한 이름은 속성 이름에 문자열 "Out"을 연결한 이름입니다.

Interop 활동에서 WF 3 활동 사용 제한

WF 3 시스템 제공 활동은 Interop 활동에서 직접 래핑될 수 없습니다. DelayActivity와 같은 일부 WF 3 활동에서는 유사한 WF 4 활동이 있기 때문이고, 다른 활동에서는 활동 기능이 지원되지 않기 때문입니다. 많은 WF 3 시스템 제공 활동은 Interop 활동에 의해 래핑되는 워크플로 내에서 사용될 수 있지만, 다음과 같은 제한 사항이 적용됩니다.

  1. SendReceiveInterop 활동에서 사용할 수 없습니다.

  2. WebServiceInputActivity, WebServiceOutputActivityWebServiceFaultActivityInterop 활동에서 사용할 수 없습니다.

  3. InvokeWorkflowActivityInterop 활동에서 사용할 수 없습니다.

  4. SuspendActivityInterop 활동에서 사용할 수 없습니다.

  5. 보정 관련 활동은 Interop 활동에서 사용할 수 없습니다.

Interop 활동에서 WF 3 활동을 사용하는 것과 관련하여 이해해야 할 몇 가지 동작이 있습니다.

  1. Interop 활동에 포함된 WF 3 활동은 Interop 활동을 실행하면 초기화됩니다. WF 4에는 워크플로 인스턴스를 실행하기 전에 이를 초기화하는 단계가 없습니다.

  2. WF 4 런타임은 트랜잭션이 시작되는 위치(Interop 활동 내부 또는 외부)에 상관없이 트랜잭션이 시작될 때 워크플로 인스턴스 상태를 검사하지 않습니다.

  3. Interop 활동 내의 활동에 대한 WF 3 추적 레코드가 WF 4 추적 참가자에게 InteropTrackingRecord 개체로 제공됩니다. InteropTrackingRecordCustomTrackingRecord의 파생 항목입니다.

  4. WF 3 사용자 지정 활동은 WF 3 워크플로 런타임에서와 동일한 방식으로 상호 운용 환경에서 워크플로 큐를 사용하여 데이터에 액세스할 수 있습니다. 이때 사용자 지정 활동 코드를 변경할 필요가 없습니다. 호스트에서 데이터는 Bookmark를 다시 시작하여 WF 3 워크플로 큐에 배치됩니다. 책갈피 이름은 IComparable 워크플로 큐 이름의 문자열 형식입니다.

참고 항목

작업

.NET Framework 4 워크플로에서 .NET Framework 3.0 또는 .NET Framework 3.5 활동 사용