WorkflowApplication 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WorkflowApplication 클래스의 새 인스턴스를 만듭니다.
오버로드
WorkflowApplication(Activity) |
지정한 워크플로 정의를 사용하여 WorkflowApplication 클래스의 새 인스턴스를 만듭니다. |
WorkflowApplication(Activity, WorkflowIdentity) |
지정된 워크플로 정의 및 정의 ID를 사용하여 WorkflowApplication 클래스의 새 인스턴스를 만듭니다. |
WorkflowApplication(Activity, IDictionary<String,Object>) |
지정한 워크플로 정의 및 인수 값을 사용하는 WorkflowApplication 클래스의 새 인스턴스를 만듭니다. |
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity) |
지정한 워크플로 정의, 인수 값 및 정의 ID을 사용하는 WorkflowApplication 클래스의 새 인스턴스를 만듭니다. |
WorkflowApplication(Activity)
지정한 워크플로 정의를 사용하여 WorkflowApplication 클래스의 새 인스턴스를 만듭니다.
public:
WorkflowApplication(System::Activities::Activity ^ workflowDefinition);
public WorkflowApplication (System.Activities.Activity workflowDefinition);
new System.Activities.WorkflowApplication : System.Activities.Activity -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity)
매개 변수
- workflowDefinition
- Activity
워크플로 정의입니다.
예제
다음 예제에서는 WorkflowApplication을 사용하여 워크플로를 호스트합니다. WorkflowApplication 인스턴스는 단일 DiceRoll
작업으로 구성된 워크플로 정의를 사용하여 생성됩니다. DiceRoll
활동에는 주사위 굴리기 작업의 결과를 나타내는 두 개의 출력 인수가 있습니다. 워크플로가 완료되면 출력이 처리기에서 Completed 검색되고 다음 출력이 콘솔에 표시됩니다.
Workflow aae3fb48-7229-4737-b969-d63e131b96b3 Completed.
The two dice are 1 and 5.
public sealed class DiceRoll : CodeActivity
{
public OutArgument<int> D1 { get; set; }
public OutArgument<int> D2 { get; set; }
static Random r = new Random();
protected override void Execute(CodeActivityContext context)
{
D1.Set(context, r.Next(1, 7));
D2.Set(context, r.Next(1, 7));
}
}
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(new DiceRoll());
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
Console.WriteLine("The two dice are {0} and {1}.",
e.Outputs["D1"], e.Outputs["D2"]);
}
};
// Run the workflow.
wfApp.Run();
적용 대상
WorkflowApplication(Activity, WorkflowIdentity)
지정된 워크플로 정의 및 정의 ID를 사용하여 WorkflowApplication 클래스의 새 인스턴스를 만듭니다.
public:
WorkflowApplication(System::Activities::Activity ^ workflowDefinition, System::Activities::WorkflowIdentity ^ definitionIdentity);
public WorkflowApplication (System.Activities.Activity workflowDefinition, System.Activities.WorkflowIdentity definitionIdentity);
new System.Activities.WorkflowApplication : System.Activities.Activity * System.Activities.WorkflowIdentity -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity, definitionIdentity As WorkflowIdentity)
매개 변수
- workflowDefinition
- Activity
워크플로 정의입니다.
- definitionIdentity
- WorkflowIdentity
정의 ID입니다.
적용 대상
WorkflowApplication(Activity, IDictionary<String,Object>)
지정한 워크플로 정의 및 인수 값을 사용하는 WorkflowApplication 클래스의 새 인스턴스를 만듭니다.
public:
WorkflowApplication(System::Activities::Activity ^ workflowDefinition, System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ inputs);
public WorkflowApplication (System.Activities.Activity workflowDefinition, System.Collections.Generic.IDictionary<string,object> inputs);
new System.Activities.WorkflowApplication : System.Activities.Activity * System.Collections.Generic.IDictionary<string, obj> -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity, inputs As IDictionary(Of String, Object))
매개 변수
- workflowDefinition
- Activity
워크플로 정의입니다.
- inputs
- IDictionary<String,Object>
인수 이름으로 키가 지정된 워크플로 정의의 루트 활동에 대해 정의된 인수 값입니다.
예제
다음 예제에서는 WorkflowApplication을 사용하여 워크플로를 호스트합니다. WorkflowApplication instance 두 개의 입력 인수를 사용하는 단일 Divide
작업과 전달될 두 값을 포함하는 입력 인수 사전으로 구성된 워크플로 정의를 사용하여 생성됩니다. 인수 이름으로 키가 지정됩니다. 원하는 워크플로 수명 주기 이벤트가 처리되고 에 대한 호출 Run을 통해 워크플로가 호출됩니다. 워크플로가 완료되면 다음 출력이 콘솔에 표시됩니다.
Workflow 8dc844c1-bbf8-4b21-a9a2-05f89e416055 Completed
500 / 36 = 13 Remainder 32
Workflow 8dc844c1-bbf8-4b21-a9a2-05f89e416055 Unloaded.
public sealed class Divide : CodeActivity
{
[RequiredArgument]
public InArgument<int> Dividend { get; set; }
[RequiredArgument]
public InArgument<int> Divisor { get; set; }
public OutArgument<int> Remainder { get; set; }
public OutArgument<int> Result { get; set; }
protected override void Execute(CodeActivityContext context)
{
int quotient = Dividend.Get(context) / Divisor.Get(context);
int remainder = Dividend.Get(context) % Divisor.Get(context);
Result.Set(context, quotient);
Remainder.Set(context, remainder);
}
}
int dividend = 500;
int divisor = 36;
Dictionary<string, object> inputs = new Dictionary<string, object>();
inputs.Add("Dividend", dividend);
inputs.Add("Divisor", divisor);
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(new Divide(), inputs);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
Console.WriteLine("{0} / {1} = {2} Remainder {3}",
dividend, divisor, e.Outputs["Result"], e.Outputs["Remainder"]);
}
};
// Run the workflow.
wfApp.Run();
적용 대상
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity)
지정한 워크플로 정의, 인수 값 및 정의 ID을 사용하는 WorkflowApplication 클래스의 새 인스턴스를 만듭니다.
public:
WorkflowApplication(System::Activities::Activity ^ workflowDefinition, System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ inputs, System::Activities::WorkflowIdentity ^ definitionIdentity);
public WorkflowApplication (System.Activities.Activity workflowDefinition, System.Collections.Generic.IDictionary<string,object> inputs, System.Activities.WorkflowIdentity definitionIdentity);
new System.Activities.WorkflowApplication : System.Activities.Activity * System.Collections.Generic.IDictionary<string, obj> * System.Activities.WorkflowIdentity -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity, inputs As IDictionary(Of String, Object), definitionIdentity As WorkflowIdentity)
매개 변수
- workflowDefinition
- Activity
워크플로 정의입니다.
- inputs
- IDictionary<String,Object>
정의 ID입니다.
- definitionIdentity
- WorkflowIdentity
인수 이름으로 키가 지정된 워크플로 정의의 루트 활동에 대해 정의된 인수 값입니다.
적용 대상
.NET