WPF工作流基础纵览
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建服务的活动
Receive Send ReceiveAndSendReply TransactedReceiveScope CorrelationScope InitializeCorrelation
消息关联类型 协议关联 基于内容的关联
123
123
程序状态的持久记录
Try: Catch:
/6
Try: Catch:
-7 +7
工作流自动提供了跟踪功能 跟踪配置 (Tracking Profiles) 提供对程序状态的丰富查询 追踪参与者 (Tracking Participants) 决定格式和存储 和Windows E2E追踪集成
提供更高层的抽象 可以方便地创建持久化的面向服务的程序 可定制的词汇和设计体验
WPF 元素
更新
Activity Designer
用户改动 WF 换成 Model Item
Xaml
序列化
Design Surface – DesignerView
展示: TFS
只需XAML
基础类库增
强 运行时和设 计器改进
简化自定义
活动
性能提高
简化数据流
什么是WF: WF 以最简单的方式协调工作 包括活动,运行时和工具 为什么WF: 提供更高层的抽象 开发持久化的面向服务的程序 可定制的词汇和设计器体验
协调本地和分布式工 作
基于代 码的服 务
WCF WSAtomic
结束某个活动以后做出反应
某些动作无法回滚 当无法使用分布式 事物
Try:
Catch:
+5
-5 rethrow *6 /6 -5 rethrow -7 +7 /6 -5 rethrow Comp Body: Cancel: Comp Body: Cancel: *6 Comp Body: Cancel: +5 -5
Async Async CodeActivity<T> CodeActivity<T>
NativeActivity<T>
调动和控制 书签 (Bookmarks) 解决数据 (Resolving data) 执行属性 (Tx, Identity, etc) 访问Host 异步I/O
演示:更高层的抽象
提供更高层的抽象 可以方便地创建持久化的面向服务的程序 可定制的词汇和设计体验
Flow Chart Receive
消息活动 (Messaging Activities) 消息关联(Correlation) 持久化 事物 (Transaction) 和补 偿 (Compensation) 跟踪 (tracking)和追踪 (tracing)
核心运行时 活动 ActivityContext
创建自定义设计器 ActivityDesigner Workflow Item Presenter Workflow Items Presenter 注册Metadata 覆盖设计器 设计器开发模型 访问ModelItem ModelProperty ModelEditingScope 撤销和重做服务
使用Visual Studio创建基于代码的活动 表达式使用C# lambda语法 非常灵活
Activity
CodeActivity NativeActivity AsyncCodeActivity Activity<T> Activity<T>
DynamicActivity
CodeActivity<T> CodeActivity<T>
为什么? 为长时间运行的服务节省系统资源 从外界环境造成的失败中恢复 根据负载均衡动态地进行伸缩 自带持久化的支持 Persist活动 NoPersistScope活动 可订制的持久化的存储库 可订制的持久化的内容
工作流 状态
ACID
WCF WSAtomic
Web Service Web Service
Parallel Receive Delay
Switch
Sequence
Send
Send
演示: 持久化的面向服务程序
客户端
服务端
调用服务的活动
Receive Send SendAndReceiveReply 利用添加服务引用 (Add Service Reference)来创建活动
(Activity) (Runtime) (Tooling)
活动
活动库
WF运行时
扩展
持久化 跟踪 …
Host (.exe, IIS/WAS, Dublin, TFS, …)
工具
VS 设计器
VS 调试器
移植 设计器
Flow Chart
Variables
Receive
IEnumerable<T>
活动(Activity) 是逻辑的抽象 单位,活动之间可以互相嵌 套组合 变量(Variable) 用来存储用 户数据 参数(Argument) 用来表示数 据如何流入流出一个活动, 参数可以与域中变量绑定在 一起
•பைடு நூலகம்博客
– http://blogs.msdn.com/endpoint/
感谢您参与此会场!
您的意见与建议对我们非常重要。 请您填写反馈表。
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
自定义活动 自定义活动设计器 移植设计器
演示:自定义活动和设计器
Receive
Receive
TimeSpan
Parallel
TimeSpan
Timeout
Delay Receive
Receive
Switch
Switch
如何开发自定义活动 活动类体系 覆盖默认运行时描述
使用设计器创建基于XAML的组合活动 创建好的XAML可以像别的类一下被加载和初始化 表达式使用VB语法 设计器辅助验证 (Validation)
DEV321
新一代工作流基础纵览
什么是 Windows Workflow Foundation (WF)? 为什么WF? 提供更高层的抽象 可以方便地创建持久化的面向服务的程序 可定制的词汇和设计体验 WF 4.0的变化 总结
数据
Web
显示
工作流
通讯
基础类库
CLR
活动 运行时 工具
Parallel
Variables
TimeSpan
Receive
Delay
Switch
Sequence
Variables
IEnumerable<T>
Send
Send
自定义活动 SharePoint Dynamics
你的代码
Systems Center HPC 基本活动库 表达式 WCF 消息 控制流活动
疑问和解答
参考资源
• MSDN
– http://msdn.microsoft.com/enus/netframework/cc896557.aspx
• 实例
– http://www.microsoft.com/downloads/details.aspx ?FamilyID=5aca0622-d87d-4cc9-a22c0d58205a56b4
WF 编辑生命周期(载入和编辑)
Parser Xaml Model
解析 被包含在
提示Model Tree Loaded GetItem()
Model Tree Mgr
Metadata Store
View
Workflow Instance
Model Item Tree
View manager
Visual mapping Workflow ViewService
Team Foundation Server
工具 原子活动
错误处理 Interop 互通
Flowchart
Sequential
提供更高层的抽象 可以方便地创建持久化的面向服务的程序 可定制的词汇和设计器体验
可视化编程,通过组合的方式直观地建模 Sequential和Flowchart风格 并行执行大量I/O的任务 声明式开发模型 方便修改,部署和管理