zoukankan      html  css  js  c++  java
  • Dynamics 365-为什么CRM环境Workflow执行了多次?

      Workflow执行了多次,这个现象如果排除业务逻辑冲突,人为失误等原因,可能有的人遇到的并不多,但是笔者时不时还能遇到这种情况,所以在这里做个记录,也给遇到相同问题的人一个解决的方法。

      当一个Workflow被Activate的时候,正常情况下,会在SQL中查到两条关于这个Workflow的记录,比如:

      Type=1的Workflow是你创建的Workflow,而ActiveWorkflowId指明了这个Workflow对应的执行记录是Type=2的那条。

      但是在正常的开发阶段,这个Workflow可能被频繁的Deactivate,然后Activate,这个时候再去查看记录,得到的结果可能就是这样的:

      多条Type=2的记录,除了ActiveWorkflowId对应那条是你需要的,剩下的都被认为是Shadow Workflows。这些记录的存在,可能就会导致你的Workflow执行多次。

      所以一个非合法操作的解决方案(毕竟直接操作了数据库表)就是,把Shadow Workflows删除掉。

      这里需要提醒的是:首先,确保Workflows执行多次不是受你业务逻辑设计冲突导致;其次,仔细检查是否有duplicate Workflow导致执行多次的情况,毕竟这种现象并不一定是因为Shadow Workflows导致。如果确定要删除Shadow Workflows,一定要写好过滤条件,确保过滤出来的都是要删除的,时刻提醒自己,你正在操作数据库表!!!

  • 相关阅读:
    [转]C#获取文件的MD5值
    跨域ajax返回
    根据子表的条件修改主表的数据
    网络与多线程的设计例子
    网络与多线程的设计模式
    tcpdump移植和使用 -- by Johnson
    关于程序的歪门邪说--by Johnson
    重装系统——联想window 10
    Qt项目中error: C2001: newline in constant错误的解决
    使用NSIS制作Windows安装程序快速入门
  • 原文地址:https://www.cnblogs.com/yobyron/p/9111398.html
Copyright © 2011-2022 走看看