惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
H
Help Net Security
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
量子位
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
AI
AI
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
U
Unit 42
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
博客园 - Franky
H
Heimdal Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
N
News | PayPal Newsroom
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网

博客园 - Zhongkeruanjian

xxzxz 第三方 Zhongkeruanjian - 博客园 使用状态机工作流 使用Windows WorkFlow Foundation Windows Workflow Foundation能带来什么 Windows Workflow Foundation简述 Windows Workflow Foundation简介 我所理解的需求捕获与需求分析 Sql Server 2005恢复脚本 深圳金谷软件招聘DOTNET软件研发工程师(深圳地区) qww 12121 c#中的有用的方法 翻译:在我们使用的NET FRAMEWORK类库中发现设计模式(3) 翻译:在我们使用的NET FRAMEWORK类库中发现设计模式(2) 翻译:在我们使用的NET FRAMEWORK类库中发现设计模式(1) Microsoft Enterprise Library---解读Logging之开篇 Microsoft Enterprise Library---解读Cache之设计与分析
懂得Windows WorkFlow Foundation
Zhongkeruanjian · 2008-05-11 · via 博客园 - Zhongkeruanjian

每一个WF工作流都包含了一定数量的活动,每一个活动都实现工作流某些方面的功能。对这些活动来讲,工作流扮演着容器的角色,控制着活动的生命周期和执行顺序。WF立志于用统一的方式来支持系统工作流与人工工作流,如早前描述的,系统工作流是按预先定义好的顺序执行的,而人工工作流恰恰相反。为了都满足这些需求,WF提供了两种内置的工作流类型:顺序工作流:根据预先定义好的模式来执行活动的能力。状态机工作流:与外部发生的事件进行交互的能力。它们都依赖于同样的运行时环境,都能使用同样的定制的活动。顺序工作流很自然的适合系统工作流。状态机工作流则提供一种方法来为松散定义的人工工作流建模。一个独立的工作可以合并所有的这些元素,并把两种工作流融合起来。如果有必要,开发者还可以创建定制的工作流类型,不过WF应用系统大多数都只使用两个标准工作流类型中其中的一个。下面的章节都会描述,我们从顺序工作流开始。

使用顺序工作流

顺序工作流的目的是为了根据预定义好的顺序执行活动的工作流应用系统。这种顺序可以包括循环,分支和其他类型的控制流程。当工作流不会有一个已经定义了从开始到结束的路径。基础活动库里内置了一组在顺序工作流里使用的活动,这些活动包括:
IfElse:根据条件是否符合来执行两个或者更多路径的活动。
While: 重复执行一个或多个活动直到一条条件为真。
Sequence:根据定义好的顺序在同一时间里执行一组工作流。
Parellel: 并行执行一个或多个工作,在工作流继续下一步前等待并行中的所有活动都执行完成。
Code:    执行一段已经定义好的代码。
CompensationHandler: 包含一个补充逻辑,比如,当一些情况下,在执行一组其他的活动时发生了错误,一些代码会执行。
Listen:等待一个特别事件,当事件接收的时候执行一个或多个活动。
Delay:进行一个执行中的工作流挂起一定的时间。
CallExternalEvent:等待一个从应用系统中但是在工作流之外的方法调用。
InvokeWorkFlow:引起其他工作流执行。
InvokeWebService:调用WebService。
TransactionScope:允许将一个或多个其他的活动合并起来放在一个原子事务里。
Terminate:终止工作流执行。

下图展示了一个由WF工作流设计器创建的一个简单的顺序工作流和几个活动:

未命名

在这个领域里有过一些经验的人可能已经注意到在顺序工作流中使用的很多默认的活动与业务流程执行语言(BPEL)里的活动很类似。最初由Microsoft与IBM定义的BPEL,现在已经是OASIS标准。它的目的在于定义系统工作流。这也是WF众多方式中的一个子集。
为了满足那些希望使用BPEL的开发者,Microsoft为Windows WorkFlow Foudation提供了一个叫做BFEL的技术。它允许将在BPEL定义好的业务流程处理逻辑导入到一个WF工作流中,开发者也可以将WF工作流逻辑导入到BPEL。