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


©著作权归作者所有:来自51CTO博客作者luoyong0201的原创作品,如需转载,请注明出处,否则将追究法律责任

你的鼓励让我更有动力

赞赏

0人进行了赞赏支持

更多相关文章

  1. 关于极客时间活动的中奖公告
  2. 虎虎生威,挑战云上魔方(活动期完成可得实物魔方)
  3. Activiti6.0工作流引擎深度解析
  4. H5互动游戏如何设计制作
  5. 【h5和海报有什么区别】h5和海报区别有哪些?
  6. 使用T-SQL进行活动目录查询
  7. 工作流管理系统
  8. 生产系统数据丢失恢复案例
  9. 什么是爬虫?Python爬虫的工作流程怎样?

随机推荐

  1. Android 基础知识、Android 进阶知识、An
  2. 在android用Google Geocoding API服务解
  3. Ubuntu下安装Android(安卓)NDK
  4. Cocos2d-x3.1下 Android,APK自动升级
  5. Android应用程序的四个关键点
  6. Android—— 4.2 Vold挂载管理_mmcblk内
  7. android 关机 流程分析
  8. android makefile(android.mk)分析(转)
  9. Android(安卓)Camera 流程学习记录(一)——
  10. Android 7.1预编译编译第三方so