一般是通过对CRM上的数据进行手动操作,来触发Workflow,但是如果碰到数据量比较大的时候,纯手动操作无疑是一个耗时费力的事。这个时候,可以通过使用ExecuteWorkflowRequest来实现相同的效果。
具体的实现思路:
1. 获取触发workflow的数据
2. 调用Request
ExecuteWorkflowRequest workflowRequest = new ExecuteWorkflowRequest() { WorkflowId = workflow的Guid, EntityId = record的Guid };
3. 为了避免对CRM服务器产生性能上的影响,可以控制每次请求的时间间隔;或者通过返回的response,获取System Job的Id,然后检查判断System Job的状态,决定是否执行下一个请求。