3.2.1  CallExternalMethod Activity

CallExternalMethod Activity在本地通信服务中是一个重要的组件.
使用此Activity,你必须设置两个属性:

  • InterfaceType: 指定接口用于定义workflow通信的。
  • MethodName: 指定需要调用的方法

引文

     为什么 CallExternalMethod 仅限于调用已知接口的方法?
     原因在于活动不仅仅是代码执行者,而是旨在与 HandleExternalEvent 活动一起实施与本地服务的双向交流。借助 CallExternalMethod 活动,通过将 HandleExternalEvent 活动加入工作流,您可以调用服务方法,处理服务引发的事件。

举例:

1.建立Sequential Workflow 项目

-----拖拽CallExternalMethodActivity放入Workflow

2.建立interface File

3.设置InterfaceType,MethodName属性

   ----设置InterfaceType为InterfaceCode

   ----设置MethodName为interfaceMethod

   ----打印预定的语句"invoke interfaceMethod"

*看下图,这里要注意此句:[Showing interfaces marked with an ExternalDataExchangeAttribute]

WF随笔系列之三 --- CallExternalMethod Activity 专题

如果在Interface中不加[ExternalDataExchange],是不会出现可选择的Interface的.

那为什么要添加[ExternalDataExchange]?

因为对于服务接口是必要的声明,否则不能把服务增加到流程中。

WF随笔系列之三 --- CallExternalMethod Activity 专题private void callExternalMethodActivity1_MethodInvoking(object sender, EventArgs e)
 

Main代码如下:

WF随笔系列之三 --- CallExternalMethod Activity 专题static void Main()


另外有人问我:为什么经常会把CallExternalMethodActivity,HandleExternalEventactivity结合在一起运用呢?

用常语答:CallExternalMethodActivity属于执行行为

                 HandleExternalEventactivity属于事件行为

所以,执行行为一般都是会触发事件行为的。[属于流程思路的解释]

最后附 CallExternalMethodActivity应用

DEMO下载

WF随笔系列之三 --- CallExternalMethod Activity 专题

相关文章:

  • 2021-06-06
  • 2022-01-10
  • 2021-12-12
  • 2021-11-22
  • 2021-06-17
  • 2021-05-01
  • 2021-11-29
  • 2021-10-22
猜你喜欢
  • 2021-06-15
  • 2021-06-17
  • 2021-10-07
  • 2021-11-30
  • 2021-09-15
  • 2021-10-08
相关资源
相似解决方案