摘要:
和Listen活动类似,EventHandlingScope活动也可以包含多个等待事件的分支.那么这两个活动的区别是什么呢?
Parallel活动会同时执行它的每个分支, SynchronizationScope活动则正好相反,它的作用是阻止将要同时执行的活动,并让它们一个接一个的执行.
Replicator活动和While活动类似,而且更加复杂.也可以这样理解,Repicator活动只能包含一个子活动,在其运行时,会取出InitialChildData属性中的所有数据,然后为每一个数据创建一个子活动的副本. 阅读全文
随笔档案-2007年07月
《WF编程》系列之26 - 基本活动:ParallelActivity & DelayActivity & ListenActivity
2007-07-26 15:11 by Windie Chai, 3685 阅读, 收藏, 编辑
摘要:
Parallel活动允许多个活动同时执行并等待它们全部完成;
与它相似,Listen活动也可以包含多个分支.但不同的是Listen活动的目的仅仅是完成一个分支;
Delay活动会初始化一个计时器并等待它到期,经常用来模拟超时.
本节我们使用这三个活动来模拟一个文件在公司的审批流程.
阅读全文
《WF编程》系列之25 - 基本活动:InvokeWorkflowActivity
2007-07-25 09:27 by Windie Chai, 3307 阅读, 收藏, 编辑
摘要:
InvokeWorkflow活动可以在工作流执行过程中异步的执行另一个工作流.我们可以设置这个外部工作流的输入参数,却无法直接获取其输出参数(因为执行过程是异步的).
本节非常简单的介绍了InvokeWorkflow的基本概念,属性和事件,关于这个活动的详细探讨,包括如何获取外部工作流的输出参数,将在以后的文章中分享. 阅读全文
《WF编程》系列之24 - 基本活动:SuspendActivity & TerminateActivity & ThrowActivity
2007-07-24 14:17 by Windie Chai, 3111 阅读, 收藏, 编辑
摘要:
这一节我们来介绍SuspendActivity,TerminateActivity和ThrowActivity.
这三个活动有一个共同的特点是都可以中断工作流的执行,不同的是Suspend用来暂停工作流,Terminate用来终止工作流,而Throw则可以抛出异常.
本节将介绍这三个活动的简单使用方法以及关键属性. 阅读全文
《WF编程》系列之23 - 基本活动:IfElseActivity & WhileActivity & SequenceActivity
2007-07-23 09:27 by Windie Chai, 3619 阅读, 收藏, 编辑
摘要:
这一节介绍两个基本活动:IfElse,While和Sequence.
这三个活动都是复合活动,它们都可以包含多个子活动,但While活动有个特殊的限制,它只能直接包含一个子活动.
本节将介绍这三个活动的简单使用方法,子活动,以及关键属性. 阅读全文
《WF编程》系列之22 - 基本活动:CodeActivity
2007-07-20 09:07 by Windie Chai, 3375 阅读, 收藏, 编辑
摘要:
活动是组成工作流的基本块.Windows Workflow的基本活动库包含了一些都通用的工作流活动.功能涉及流程控制,事务管理,本地通信,Web Services以及其他等等.这些活动都在工具箱中可以找到.有一些活动比较简单,比如CodeActivity,它的工作就是执行一段代码.而有的活动就比较复杂,如PolicyActivity可以以正向链法(forward chaining)来估算优先级. 通过使用这些基本活动,我们可以构建强大的工作流.
从这篇随笔开始,我将逐个介绍基本活动库中的所有活动,第一个出场的是一直出现在范例中的CodeActivity. 阅读全文
《WF编程》系列之21 - 故障 Faults
2007-07-19 09:34 by Windie Chai, 2954 阅读, 收藏, 编辑
摘要:
和所有软件一样,工作流未必总是能够完美的执行.例如,数据库服务器的故障就可能使工作流抛出异常.此外,我们还可以通过TrowActivity来人为的抛出一个异常.
在工作流内部管理异常和管理C#中的异常类似.复合活动包含一个故障处理程序(fault handlers)来捕捉异常. 在.NET中,异常一直向上传递直到.NET Runtime为其找到合适的异常处理程序.在工作流内部也是一样,如果活动没有处理发生的异常,Runtime会把这个异常传递给它的父活动.如果Runtime无法找到故障处理程序,Runtime会终止工作流并触发WorkflowTerminated事件. 阅读全文
仿BlogEngine.NET的cnBlog主题
2007-07-18 09:31 by Windie Chai, 1418 阅读, 收藏, 编辑
摘要:
昨天写了一个CSS来仿照BlogEngine.NET中的Standard主题. 阅读全文
《WF编程》系列之20 - 触发事件与调用方法:宿主的实现
2007-07-17 09:38 by Windie Chai, 4205 阅读, 收藏, 编辑
摘要:
我们已经实现了服务合同,服务以及工作流,本节来实现这一范例的最后一块:宿主. 阅读全文
《WF编程》系列之19 - 触发事件与调用方法:服务以及工作流的实现
2007-07-16 14:27 by Windie Chai, 4662 阅读, 收藏, 编辑
摘要:
上一节中我们已经实现了服务合同,这一节我们来实现具体的服务以及工作流. 阅读全文
《WF编程》系列之18 - 触发事件与调用方法:服务合同 Service Contracts
2007-07-13 10:58 by Windie Chai, 4595 阅读, 收藏, 编辑
摘要:
许多开发人员想要建立一个更加正式的机制来方便和工作流交互.尽管使用Dictionary可以简单灵活的向工作流传递数据,但这种方法需要参数名称和伴随属性的严格匹配.而且我们只可以在工作流开始时使用参数向工作流传递数据,或在结束是获取数据.许多工作流需要在执行过程的不同时期和宿主交换数据.我们可以使用事件和方法调用来达到这个目的.这一节,我们来讨论数据传输通信的基本原理.
工作流和其宿主可以通过本地通信服务(LCS,local communication service)交换数据.LCS允许工作流和宿主之间的事件和方法调用.在后台,工作流Runtime和LCS一起工作来截取通信并提供附加服务(就像事件在排队直到工作流处于可以接受事件的状态).
阅读全文
[翻译]Web中的三层
2007-07-12 09:19 by Windie Chai, 1392 阅读, 收藏, 编辑
摘要:
不久之前,专业的网页设计师还在兴高采烈的将HTML,CSS和JavaScript代码掺杂到一个单独的文件中,命名为index.html,并称其为网页。今天你仍然可以这么做,不过要有心里准备去接受同行们比较没有礼貌的洗礼。
有一天,网页设计师们突然注意到这些混在一起的代码分别做了以下三件事请:
n 描述页面的内容。
n 指定内容的表现形式。
n 控制内容的行为。
接着他们实现了这三种类型代码的分离,这种做法让他们的工作更加轻松,并且让他们的网页在各种条件下更好的工作,即使用户的浏览器禁用了JavaScript。
这项原则被极客们叫做:分散关注。
阅读全文
浅尝VML
2007-07-06 15:18 by Windie Chai, 1820 阅读, 收藏, 编辑
摘要:
我真是孤陋寡闻,前段时间才知道SVG,今天才知道VML.
尝试着写了下面两个对话框,代码也附在文末.
阅读全文
同步Outlook日历和Google日历
2007-07-04 15:58 by Windie Chai, 2597 阅读, 收藏, 编辑
摘要:
最近Google的地图和日历都增加了SMS功能,可以将地点信息和形成安排以短信的方式发送到手机上,个人认为这还是一个非常实用的功能.
工作需要,在公司里不得不使用Outlook(再次牢骚一下,Outlook还是Office 2007中最慢的软件),我又没有必要同时维护两个日历,于是搜寻到一款国外的免费插件:OggSync for Outlook.
此插件支持Outlook日历和Google日历的双向同步.
阅读全文