zoukankan      html  css  js  c++  java
  • 自定义工作流活动运行产生System.Security.SecurityException

    摘要: 微软动态CRM专家罗勇 ,回复305或者20190224可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me 。

    最近碰到一个问题,某些自定义工作流活动运行报如下错误,红色部分是参考号,每次都不一样。

    System.Security.SecurityException:Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #*******

    自定义工作流活动一般是注册在沙盒中,在沙盒日志中有错误产生,看到工作流异常终止,看不出什么问题。奇怪的是自定义工作流活动代码非常靠前的获取追踪服务应该打印出的消息没有打印出来。

    ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

    tracingService.Trace("Message from tracing Custom Code Activity..");

    当然后来我们找到原因了,这个报错是代码中用异步POST请求去调用API,这个调用不通产生异常导致的。因为是异步,所以在AsyncService的日志中是可以看到错误的,Unable to connect the remote server.

    那为啥tracingService应该能打印的消息没有打印出来呢?

    原来代码中对这个异步调用API服务用try ... catch ... 包括出来了。如果有异常的话,在异常处理catch部分处理更新记录状态为失败外,再一次使用throw new ex; 的方式将异常抛出来了。

    错就错在这个抛出异常的方法,应该使用建议的抛出异常的方式 throw new InvalidPluginExecutionException(ex.Message)  来抛出异常就好了,这样自定义工作流活动运行异常时,tracingService打印的信息也可以看到了,更加有助于排查问题。

  • 相关阅读:
    jqueryuidatepicker 可控制是否显示时分秒
    JQuery zTree v3.2和demo
    模拟网易163写的一个文本框触发效果
    不刷新页面,切换CSS文件
    Devs开源规则引擎介绍
    坑爹啊!!!win2003 x64企业版不支持tfs2010的源代码管理服务
    gui设计禁忌2.0读书笔记
    c#关于数据库自定义类型在存储过程中返回服务器端的问题
    vs2010 sp1在win2003不能安装的问题
    mysql真是不错!
  • 原文地址:https://www.cnblogs.com/luoyong0201/p/Dynamics_365_Custom_Code_Activity_SecurityException.html
Copyright © 2011-2022 走看看