【深入浅出WF】——令牌环的变身—书签
前世——令牌环
基本概念:令牌环(Token-Ring)是定义在IEEE 802.5标准中的一种局域网接入方式。
令牌环网络的基本原理是利用令牌(代表发讯号的许可)来避免网络中的冲突,与使用冲突检测算法CSMA/CD的以太网相比,提高网络的数据传送率。此外,还可以设定传送的优先度。
传输方法:传送数据时会由掌握 token 的电脑先发送数据。接收数据的电脑会检查 frame 表头,若是送给自己的则处理之。无论是否是送给自己的,都会再传下去,传一圈后检查资料是否相同以确定资料没有传输错误。 待送完数据后可以依需要调整 token 的优先度(改得比自己的优先度低),再把 token 传递到下一台电脑。 若接收到 token 但优先度较自己的高,则得要把 token 传递到下一台电脑。
备注:以上摘自维基百科。
http://zh.wikipedia.org/zh-cn/%E4%BB%A4%E7%89%
今生——书签
概念:书签(Bookmark)机制,可以让活动在书签的位置挂起,等待恢复。如果我们需要在活动没有完成的时候,提供额外的数据,这个时候我
们就可以给活动注册一个书签,我们需要使用CreateNamedBookmark方法创建书签,该方法有三个参数一个名字,一个BookmarkCallback的委托,当
活动恢复的时候执行。和BookmarkOptions,Runtime为每个工作流实例维护一个Bookmarks的List,每次有Bookmark要恢复的时候都回去check。
Bookmark还担当了一部分以前CorrelationToken的职责。
Bookmark可使用流程Idle并触发流程的OnIdle
成员:
通过 IList bookmarks = instance.GetAllBookmarks();获得所有书签。
通过instance.ResumeBookmark(name, str);恢复活动的执行。
Bookmark无返回值
Bookmark有返回值