Dan*_*ell 7 c# sharepoint workflow
在我想要处理的工作流内部和错误,例如无法查找我想要分配任务的用户名.因此用户名不存在,我将通过电子邮件通知管理员,将其记录到工作流历史记录中,然后终止工作流.
问题是,如何从工作流内部终止工作流,就像我单击SharePoint网页上的"终止工作流"按钮一样.
[更新]我尝试过SPWorkflowManager.CancelWorkflow()确实取消了工作流程,但没有立即取消.取消运行的代码会发生什么,但随后我的工作流程继续创建下一个任务,然后在下一个任务onTaskChanged活动时进入休眠状态.只有一旦它进入睡眠状态,工作流程才会终止,而不是在调用CancelWorkflow时.
这导致了一个明显的问题,即我不希望创建下一个任务.我正在调用CancelWorkflow,因为我希望它取消当时和那里.
这个MSDN线程有很多建议:
这是一篇博客文章,其中包含完全相同的信息: 取消SharePoint工作流程
最后,最具体地说,您需要使用静态方法: SPWorkflowManager.CancelWorkflow(SPWorkflow workflowInstanceToBeCancelled)
编辑
CancelWorkflow是一个静态类,所以我修改了调用.