深入浅出SharePoint——取消Workflow实例 取消正在执行的Workflow instance。以下代码以properties来自EventReceiver中的上下文。 SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(properties.SiteId)) { using (SPWeb web = site.OpenWeb(properties.RelativeWebUrl)) { SPWorkflowManager manager = site.WorkflowManager; SPListItem item = web.Lists[properties.ListTitle].GetItemById(properties.ListItemId); foreach (SPWorkflow workflow in manager.GetItemActiveWorkflows(item)) { foreach (SPWorkflowTask t in workflow.Tasks) { t["Status"] = "Canceled"; t.Update(); } SPWorkflowManager.CancelWorkflow(workflow); } } } });