NET 中状态机工作流结尾的总结有点与本文主题不符, 是写文章时想到的, 就顺手写上了(^_^)\ 例子下载: /foundation/ 中 WF 已为原 提供了状态机模式的支持. 先看一下增加加的 Activity 使用 VS2011 创建 WorkFlow 项目, 的 WF 模板在 WF 设计界面可以看到状态机模板由 3个 Activity 组成 StateMachin 是状态机容器 State 是状态节点 FinalState 是结束状态节点在 State 中具有[ 进入状态],[ 结束状态] 两个执行区, 可以添加任意 Activity, FinalState 中具有[ 进入状态] State 可以添加多条分支, 在分支上可以设置[Trigger],[Condition],[Action], 这些与 WF4. 0 中其他条件类 Activity 设置一样例子用一个例子演示一下状态机的使用流程业务模型设计书签 public sealed class resultBookmark : NativeActivity < string > { public InArgument < string > bookmarkName { get ; set ;} protected override bool CanInduceIdle { get { return true ;}} protected override void Execute( NativeActivityContext context) { string bookmark = (bookmarkName); (bookmark, new BookmarkCallback (bookmarkCallback)); System. Console .WriteLine( "创建 bookmark:{0}" , bookmark); } void bookmarkCallback( NativeActivityContext context, Bookmark bookmark, object obj) { if (obj != null ){ this .(context, ()); } else { this .(context, string .Empty); }}} 在设计界面用 WF 构建业务模型设计 State, 以[A] 节点为例, 其他类似设计宿主 void pleted( pletedEventArgs e) { instance = null ; System. Console .WriteLine( "pleted:{0}" , ()); } void aborted( WorkflowApplicationAbortedEventArgs e) { instance = null ; System. Console .WriteLine( "aborted ,Reason:{0}" , ); } UnhandledExceptionAction unhandledExceptionl( WorkflowApplicationUnhandledExceptionEventArgs e) { System. Console .WriteLine( "unhandledException:{0}" , ); return UnhandledExceptionAction .Cancel; } void workflowIdel( WorkflowApplicationIdleEventArgs e) { System. Console .WriteLine( "Idle:{0}" , ); System. Console .WriteLine( "--------BookmarkName---------------------------" ); foreach ( var item in ) { System. Console .WriteLine( "{0}" , ); } System. Console .WriteLine( "============================
NET . 中状态机工作流 来自淘豆网www.taodocs.com转载请标明出处.