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 인스턴스는 두 개의 입력 인수를 사용하는 단일 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
인수 이름으로 키가 지정된 워크플로 정의의 루트 활동에 대해 정의된 인수 값입니다.