워크플로 관리자 1.0 구성 및 외부 변수

 

Workflow Manager 1.0에서는 실행 중에 사용되는 구성 값을 설정할 수 있는 기능을 제공합니다. 따라서 프로그램 정의(이 경우엔 워크플로)에서 변경될 수 있는 하드 코딩 매개 변수를 피하는 등의 프로세스를 모델링할 때 잘 만들어진 유용한 정보를 사용할 수 있습니다.워크플로 응용 프로그램 작성자는 워크플로 정의와 연관된 응용 프로그램 설정을 지정할 수 있습니다.이러한 응용 프로그램 설정은 키-값 쌍의 목록으로 개념 상 .NET AppSetting과 비슷합니다.이 목록에는 워크플로 관련 정보를 나타내는 모든 키와 값의 집합이 포함됩니다.

이 항목의 내용

  • 구성 설정

  • 워크플로에 구성 정보 사용

  • ExternalVariables 및 UserStatus

  • ExternalVariable과 구성 비교

구성 설정

구성 응용 프로그램 설정은 WorkflowDescription.Configuration을 통해 워크플로 정의 단계에서 만들어집니다.다음의 예제 코드는 항목을 AppSettingsWorkflowConfiguration 모음에 추가하여 응용 프로그램 설정을 지정하는 방법을 보여줍니다.

sampleConfigValueWorkflow.Configuration = new WorkflowConfiguration();
sampleConfigValueWorkflow.Configuration.AppSettings.Add("configSetting1", "configuration value");      
sampleConfigValueWorkflow.Configuration.AppSettings.Add("anotherConfigSetting", "another value");      

참고

WorkflowConfiguration은 WF의 프로그래밍 모델에서 직접 사용할 수 없는 기타 구성 설정(제한 옵션 등)을 제공합니다.

WorkflowConfiguration 개체를 ScopeInfo.DefaultWorkflowConfiguration에 설정하여, 기본 워크플로 구성을 지정된 Scope의 모든 워크플로에 설정할 수 있습니다.이 기본 구성이 설정되면 Scope의 모든 WorkflowDefinitions가 해당 구성 설정을 사용하게 됩니다.고유한 WorkflowConfiguration을 제공하여 WorkflowDefinitions를 재정의할 수 있습니다.

워크플로에 구성 정보 사용

GetConfigurationValue 작업을 사용하면 워크플로 작성자가 지정된 워크플로의 구성으로부터 응용 프로그램 설정을 사용할 수 있습니다.GetConfigurationValue에는 응용 프로그램 설정의 이름과 이 응용 프로그램 설정이 저장될 출력 변수가 사용됩니다.또한 요청된 응용 프로그램 설정이 없을 경우 출력 변수에 할당될 값에 해당하는 기본값이 선택 항목으로 포함될 수 있습니다.다음 스크린샷의 워크플로에서는 이전 예제에서 지정된 GetConfigurationActivity 설정을 사용하는 configSetting1를 보여줍니다.

Workflow Configuration Activity Properties

ExternalVariables 및 UserStatus

ExternalVariable를 사용하면 작성자가 워크플로 내부의 글로벌 상태를 모델링할 수 있습니다.ExternalVariable은 ExternalVariables 속성을 사용하여 WorkflowDefinition에 추가되며 해당 워크플로의 모든 작업에 표시됩니다.이는 워크플로에서 사용된 사용자 지정 작업 구현을 비롯하여 워크플로에 대한 모든 구현 하위 항목에 이러한 변수가 표시됨을 의미합니다.ExternalVariable에는 워크플로에서 허용되는 모든 유형(허용 유형 목록 내 유형)이 사용될 수 있습니다.

참고

허용 유형에 대한 자세한 내용은워크플로 관리자 1.0 신뢰할 수 있는 표면을 참조하세요.

ExternalVariable은 매핑될 수 있습니다.따라서 워크플로가 지속된다면 WorkflowInstanceInfo.MappedVariable을 사용하여 ExternalVariable에 액세스할 수 있습니다.ExternalVariable이 매핑된 것으로 표시되지 않으면 인스턴스 상태의 일부로 저장되지만 WorkflowInstanceInfo를 사용하여 액세스할 수 없습니다.

ExternalVariable 값에는 ExternalVariableValue<T> 작업을 사용하여 액세스합니다.ExternalVariable의 값을 설정하려는 경우에는 ExternalVariableReference<T>가 L-Value로 사용됩니다(Assign 등에서).

참고

ExternalVariableValue<T>는 워크플로 디자이너에서 지원됩니다. 하지만 현재는 ExternalVariableReference<T>만 코드로 지원됩니다.

또한 Workflow Manager 1.0는 UserStatus(UserStatus 속성을 사용하여 액세스됨)라고 하는 첫 번째 클래스 매핑 ExternalVariable과 SetUserStatus를 호출한 워크플로에서 이를 설정할 수 있는 작업을 제공합니다.이는 ExternalVariable이 하나만 필요한 가장 일반적인 상황에 ExternalVariable를 사용하는 간단한 시작 환경을 제공합니다.

ExternalVariable과 구성 비교

다음 표에는 워크플로 구성과 ExternalVariable의 특징이 비교되어 있습니다.

기능

구성

ExternalVariable

세분성

정의 이상(예: Scope)

인스턴스

허용 유형

문자열

허용 유형 목록의 모든 유형

워크플로 인스턴스에 의한 변경 가능 여부

아니요 

작업 표면

GetConfigurationValue

ExternalVariablesValue<T>

ExternalVariableReference<T>

매핑 가능 여부

아니요