Dynamics CRM 远程调试自定义工作流活动

据我所知,Dynamics CRM工作流的调试方式有几种:

Throw抛出异常错误

使用TracingService

服务器附加进程调试

对于插件有PluginProflier

 

以上几中方式各有优缺点。

抛出异常错误:快速查看少量对象值,对于多个对象或调试条件分支,需要不断地试错。

使用TracingService:可记录执行过程,需要开启日志监控,不能即时跟踪对象。

服务器附加进程:可即时跟踪对象,需要服务器权限并登录服务器。

 

下面记录下使用本地远程调试的过程

工具准备:

Visual Studio 2017

Visual Studio 2017 远程工具

工具下载地址:https://www.visualstudio.com/zh-hans/downloads/

 

首先,我这里使用SDK的Sample来创建一个自定义工作流活动,记得程序集要签名

 

然后使用插件注册工具,注册自定义工作流活动

注册类型这里我选择Sandbox

接着在CRM里面自定义一个工作流,在创建完客户之后执行此工作流。

接下来需要在远程服务器运行RemoteDebugger,下载安装完后,在开始里搜索

打开Remote Debugger

这时就可以在客户机使用VisualStudio 附加远程进程了。

打开前面创建的自定义工作流活动项目CustomWFActivity,选择VisualStudio菜单-》调试-》附加到进程,点击查找

弹出防火墙提示,点击允许访问。

这时可以看到远程服务器名称及IP地址

点击该服务器,出现选择按钮。

点击选择,提示输入凭据

如果选择保存凭据

则在控制面板\用户帐户\凭据管理器 会保存用户名和密码,下次就不再需要输入

输入后,稍等一会就会自动加载远程服务器的进程列表

因为注册自定义工作流活动时,注册类型是SandBox,所以这里要选择Sandbox进程,Sandbox进程有两个,选择WorkerProcess,然后点击附加。

附加完进程之后,设置需要调试的断点。

为了触发工作流,这里我新建一个客户,并保存。

稍等片刻,Visual Studio 2017就会自动弹出界面并中断程序。

接下来,就可以监控到程序运行情况了。

到此,远程调试已经完成,这种调试方式的好处在于即时查看对象值及程序执行情况。

对于插件的调试也是一样的,只是监控的进程不一样,调试插件监控w3wp进程。

如果注册时,注册类型不是Sandbox,那就需要附加进程到CrmAsyncService.exe进程,但这里有两个同名进程,而且无法区分哪个是maintenance进程,可以分别尝试或查看服务器端哪个PID是工作进程

其实,如果服务器能够读取到客户机VisualStudio 的安装目录,就可以直接运行远程调试工具而不用下载。

 

如果有更好的调试方式,欢迎分享。

转载于:https://www.cnblogs.com/tcli/p/6661831.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值