[上一节]

     本节我们做一个工作流通信的简单例子,具体的概念请参考上一节的内容。

     一.     通信服务:

     新建一个“顺序工作流控制台应用程序”,然后右键解决方案→添加→新建项目→类库。如图:

删掉默认的“Class”类,新增MessageEventArgs类,代码如下:

 

Code

 

 注意:一定要加上Serializable属性

新增“IMessageService”接口,代码如下: 

 

Code

 

注意:一定要加上ExternalDataExchangeAttribute属性

 

     接下来新增“MessageService”类,继承“IMessageService”接口,代码如下:

 

Code

 

     二.     工作流:

     接下来我们回到工作设计器,首先从工具箱中找到“CallExternalMethodActivity”活动,拖拽到设计器中。

     设置它的InterfaceType属性,Method属性和message属性,如图:

     

     然后在从工具箱中找到“ListenActivity”活动,拖拽到设计器中。

     向它的三个分支添加两个“HandleExternalEventActivity”活动和一个“DelayActivity”,最后添加一个“CodeActivity”活动,如图所示:

     然后我们分别设置这些活动的属性,如图:

   接下来我们来看下工作流的代码:

     

Code

 

     三.     工作流宿主

     最后编写工作流宿主的代码:

     

Code

 

 

     运行结果如图:

     

 

     [源代码]

 

     [下一节]

 

    

posted on 2008-11-09 11:31  o﹎箜絔┌↘  阅读(2079)  评论(0)    收藏  举报