说明
例子下载:
http://files.cnblogs.com/wxwinter/aec10_1.rar
http://files.cnblogs.com/wxwinter/aec10_2.rar
取消的实现
取消处理器CancellationHandlerActivity的使用
例子:取消
内容控件Activity
public {
{
}
{ System.Console.WriteLine("取消");
}
{ System.Console.WriteLine("wxwinter");
aec.CloseActivity(); }
{
aec.CloseActivity(); } } |
容器控件Activity
public { public 容器控件() { InitializeComponent(); }
[System.Diagnostics.DebuggerNonUserCode]
{
}
{
executionContext.ExecuteActivity(this.内容控件1);
}
{ IsCancel = true; //一个模拟要取消的业务情形
{
aec.CancelActivity(this.内容控件1); } }
{ e.Activity.Closed -= activity11_Closed;
aec.CloseActivity(); } } |
测试用工作流
public {
public Workflow1() { InitializeComponent(); }
[System.Diagnostics.DebuggerNonUserCode]
{
} } |
宿主
{
{
workflowRuntime.WorkflowCompleted +=new workflowRuntime.WorkflowTerminated +=new workflowRuntime.WorkflowIdled+=new
instance.Start();
System.Console.Read();
}
{ System.Console.WriteLine("WorkflowIdled"); }
{ System.Console.WriteLine("Terminated" + e.Exception.Message); }
{ System.Console.WriteLine("WorkflowCompleted"); }
} |
运行结果
IsCancel = true; |
IsCancel = false |
例子:取消处理器CancellationHandlerActivity
支持取消的控件Activity
{
{
executionContext.ExecuteActivity(this.EnabledActivities[0]);
}
{
aec.CloseActivity(); }
{
{
{ v.Closed += CancellationHandlerActivity_Closed; executionContext.ExecuteActivity(v);
} }
}
{
aec.CloseActivity(); }
} |
可取消的容器Activity
{
{
executionContext.ExecuteActivity(this.EnabledActivities[0]);
}
{
{
aec.CancelActivity(this.EnabledActivities[0]); } }
{ e.Activity.Closed -= activity_Closed;
aec.CloseActivity(); } } |
测试用工作流
|
public {
public Workflow1() { InitializeComponent(); } [System.Diagnostics.DebuggerNonUserCode]
{
}
{ System.Console.WriteLine("正常执行"); }
{ System.Console.WriteLine("取消执行"); } } |
宿主
{
{
workflowRuntime.WorkflowCompleted +=new workflowRuntime.WorkflowTerminated +=new workflowRuntime.WorkflowIdled+=new
instance.Start();
System.Console.Read();
}
{ System.Console.WriteLine("WorkflowIdled"); }
{ System.Console.WriteLine("Terminated" + e.Exception.Message); }
{ System.Console.WriteLine("WorkflowCompleted"); }
} |
运行结果