zoukankan      html  css  js  c++  java
  • HandleExternalEventActivity

     

    绑定外部事件(指工作流内部事件在宿主中触发)

    1.InterfaceType要绑定到标记为[System.Workflow.Activities.ExternalDataExchange()]的一个接口上

    2.EventName 要绑定到该接口声明的一个事件,事件格式最好与Invoked的事件签名一至

    (object sender, ExternalDataEventArgs e)

    e参数可以通过重写ExternalDataEventArgs进行括充,下例就重写了

    (事件用的是2.0的写法,也可以使用传统写法)

    3.引擎中要加载ExternalDataExchange服务

    4ExternalDataExchange服务,要加载实现[1]所绑定接口类的实例

    5.运行到HandleExternalEventActivity结点后,会进入idle状态,苏酲时间为9999-12-31

    6.只有当宿主中触发绑定的事件后才会继续向下运行。

    7.下例中如果所传的“InstanceId”与当前实例的[InstanceId]不一至时会报错

    8.触发事件时的两个参数值会传入HandleExternalEventActivityInvoked事件对应的参数,也会赋给参数映射中的设定

    9.触发事件时 对象.触发事件("发送对象", 当前操作的实例.InstanceId   )     将要触发该事件的工作流实例的GUID传入是非常重要的,因为引擎中可能有多个实例在等待该事件,发送工作流实例的GUID可以告诉引擎是要触发那一个实例事件

    Invoked事件

    外部事件发生后发生该事件

    private void handleExternalEvent_Invoked(object sender, ExternalDataEventArgs e)

    e.InstanceId

    e.Identity

    e.WaitForIdle

    e.WorkHandler

    e.WorkItem

    该事件中的两个参数与参数映射中的设定是一样的

    可进行类型转换以得到自定义的扩充(事件标志)e).自定义存值

     图解:


    将在工作流应用中对应用作具体说明

  • 相关阅读:
    Tomcat虚拟主机配置
    JSP执行过程
    JDK环境变量配置贺Tomcat环境搭建
    有限域上的运算
    希尔密码(Hill Cipher)的实现
    高精度运算
    统计文本中的单词数的简单脚本
    soj1166. Computer Transformat(dp + 大数相加)
    [转].Python中sorted函数的用法
    soj1564. HOUSING
  • 原文地址:https://www.cnblogs.com/foundation/p/521046.html
Copyright © 2011-2022 走看看