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,一定要写好过滤条件,确保过滤出来的都是要删除的,时刻提醒自己,你正在操作数据库表!!!

Dynamics 365-为什么CRM环境Workflow执行了多次?的更多相关文章

  1. Dynamics 365 for CRM: Sitemap站点图的可视化编辑功能

    Dynamics 365 for CRM 提供了Sitemap站点图的可视化编辑功能 在之前的所有版本中,我们只能通过从系统中导出站点图的XML进行编辑后再导入(容易出错),或使用第三方的Sitema ...

  2. Dynamics 365 for CRM:CRM与ADFS安装到同一台服务器,需修改ADFS服务端口号

    CRM与ADFS安装到同一台服务器时,出现PluginRegistrationTool 及 CRM Outlook Client连接不上,需要修改ADFS的服务端口号,由默认的808修改为809: P ...

  3. Dynamics 365 for CRM:修改ADFS的过期时间,TokenLifetime

    通过Microsoft PowerShell修改ADFS的过期时间实现延长CRM的过期时间 To change the timeout value, you will need to update t ...

  4. Dynamics 365 Online-试用环境申请地址

    https://trials.dynamics.com/Dynamics365/Signup/sales 需要用企业邮箱

  5. Dynamics 365中的非交互式账号(Non-interactive User)介绍

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复272或者20180616可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  6. Dynamics 365 App for Outlook 与 Dynamics 365 for Outlook(已被弃用)

    在最新的版本中Dynamics 365 for Outlook(Outlook 客户端)已被弃用 随 Dynamics CRM 2016(版本 8.0)引入的 Dynamics 365 App for ...

  7. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  8. Dynamics 365 CRM 开发架构简介

    Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式. 本文是对Dynamics 365 CRM编程模型的综述. 概览 下图表明了Dynamics 365 CRM的主要可编 ...

  9. 创建一个dynamics 365 CRM online plugin (九) - Context.Depth

    让我们来看看官方文档是怎么讲的 https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide ...

随机推荐

  1. [Swift]LeetCode357. 计算各个位数不同的数字个数 | Count Numbers with Unique Digits

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...

  2. [Swift]LeetCode739. 每日温度 | Daily Temperatures

    Given a list of daily temperatures T, return a list such that, for each day in the input, tells you ...

  3. 洛谷P1036选数(素数+组合数)

    题目链接:https://www.luogu.org/problemnew/show/P1036 主要考两个知识点:判断一个数是否为素数.从n个数中选出m个数的组合 判断一个数是否为素数: 素数一定是 ...

  4. 面试挂了阿里却拿到网易offer,一个三年Java程序员的面试总结!

    前言 15年毕业到现在有三年多了,最近去面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去了网易. ...

  5. [Abp 源码分析]十、异常处理

    0.简介 Abp 框架本身针对内部抛出异常进行了统一拦截,并且针对不同的异常也会采取不同的处理策略.在 Abp 当中主要提供了以下几种异常类型: 异常类型 描述 AbpException Abp 框架 ...

  6. ElasticSearch(2)---SpringBoot整合ElasticSearch

    SpringBoot整合ElasticSearch 一.基于spring-boot-starter-data-elasticsearch整合 开发环境:springboot版本:2.0.1,elast ...

  7. 带着新人学springboot的应用08(springboot+jpa的整合)

    这一节的内容比较简单,是springboot和jpa的简单整合,jpa默认使用hibernate,所以本质就是springboot和hibernate的整合. 说实话,听别人都说spring data ...

  8. 漫画:htts是如何保证一台主机把数据安全发给另一台主机

    通过漫画的形式由浅入深带你读懂htts是如何保证一台主机把数据安全发给另一台主机的 对称加密 一禅:在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端.之后服务器给客户端发送真实数 ...

  9. 初学Java Web(5)——cookie-session学习

    HTTP 协议 Web 浏览器与 Web 服务器之间的一问一答的交互过程必须遵守一定的规则,这样的规则就是 HTTP 协议. HTTP 是 hypertext transfer protocol(超文 ...

  10. Spring Cloud学习笔记-011

    分布式配置中心:安全保护 由于配置中心存储的内容比较敏感,做一定的安全处理是必需的.为配置中心实现安全保护的方式有很多,比如物理网络限制.OAuth2授权等.由于微服务应用和配置中心都构建与Sprin ...