• 在workflow中,无法为实例 ID“...”传递接口类型“...”上的事件“...” 问题的解决方法。


    搭建自己的WF程序时碰到这样的错误:无法为实例 ID“b6badb4d-5955-4d2c-8e10-bf51fb0c6f56”传递接口类型“Land.Workflow.LocalService.ICaseService”上的事件“Create”。

    搜了下,基本上都是这样的说法:把WaitForIdle 属性设置为true即可,如:args.WaitForIdle = true; 照做还是不行。

    通过仔细研究发现,我们的一般会这样自定义自己的消息类型:
    [Serializable]
    public class CaseEventArgs : ExternalDataEventArgs
    {
    public CaseEventArgs(Guid instanceId)
    : base(instanceId)
    {
    }

    public CaseEventArgs(Guid instanceId, Case _case) :
    base(instanceId)
    {
    this.Case = _case;
    }

    public Case Case
    {
    get;
    set;
    }
    }

    public class Case
    {
    }

    CaseEventArgs 的[Serializable]是必须加的,这地球人都知道。
    但是Case如果不加[Serializable]属性同样会出现无法传递事件错误。改成这样即可:
    [Serializable]
    public class Case
    {
    ...
    }

    也就是CaseEventArgs中属性设涉及到的实体,必须都可序列化,因为其本身可序列化。

  • 相关阅读:
    Visual Studio Code 工具使用教程
    JS获取节点的兄弟,父级,子级元素
    动态加载js
    实用的文本和图片无缝滚动效果
    兼容各种浏览器的文字循环无缝滚动效果
    中文乱码
    js 循环json
    js中获取basePath
    json转换为map
    java des 加密/解密
  • 原文地址:https://www.cnblogs.com/soundcode/p/2718610.html
Copyright © 2020-2023  润新知