博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义工作流活动运行产生System.Security.SecurityException
阅读量:5292 次
发布时间:2019-06-14

本文共 1043 字,大约阅读时间需要 3 分钟。

摘要: 微软动态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打印的信息也可以看到了,更加有助于排查问题。

转载于:https://www.cnblogs.com/luoyong0201/p/Dynamics_365_Custom_Code_Activity_SecurityException.html

你可能感兴趣的文章
iOS获取用户设备崩溃日志并分析
查看>>
String类
查看>>
1、IO概述及File类
查看>>
[bzoj3531][Sdoi2014]旅行
查看>>
3.将模型添加到 ASP.NET Core MVC 应用
查看>>
Google TensorFlow for GPU安装、配置大坑
查看>>
【转】Android开发之如何保证Service不被杀掉(broadcast+system/app)
查看>>
什么是RUP,什么是敏捷开发,什么是XP(极限编程)
查看>>
DB9针和DB25针串口的引脚定义
查看>>
分段和分页内存管理
查看>>
人工智能教程
查看>>
Redis客户端连接异常
查看>>
小白学数据分析----->移动游戏的使用时长分析
查看>>
静态页面表单提交
查看>>
走进 Spring IOC 的世界
查看>>
【HTML/XML 7】CSS层叠样式表
查看>>
Segmentation fault(Core Dump)
查看>>
SQL Server全文索引 (简单的搜索引擎)
查看>>
关于logstash-out-mongodb插件说明
查看>>
第三届蓝桥杯本科预赛 c++ 第十题
查看>>