以编程方式启动SharePoint工作流的问题

本文关键字:工作流 问题 SharePoint 启动 编程 方式 | 更新日期: 2023-09-27 18:18:56

我有一些失败,而试图开始我的工作流程。这是一个有一些审批任务的工作流。每当我尝试用程序启动它时,就会发生这种情况。没有错误。一切都很顺利。然而,就在第一个审批流程进入时,SharePoint按照要求启动审批任务。然后,在这个任务被取消之后,工作流崩溃了。我不知道为什么。在工作流历史页面上,我得到了这样的信息"错误-工作流无法更新项目,可能是因为项目的一个或多个列需要不同类型的信息。未知的错误"。PS:每当我手动启动相同的工作流(通过工作流的起始页),使用相同的帐户,相同的列表项,相同的一切,它不会给我带来麻烦。我试着在日志中寻找一些能帮助我解决这个问题的东西,但没有成功。你能猜出为什么我不能在没有面对这个的情况下以编程方式启动它吗?

我代码:

        using (SPWeb Web = SPContext.Current.Web)
        {
            SPList myList = Web.Lists["MyList"];
            SPListItem listItem = myList.GetItemById(ListItemId);
            //Get workflow’s Id             
            Guid workflowId = GetRelatedWorkFlowId(Web);
            foreach (SPWorkflowAssociation workflow in myList.WorkflowAssociations)
            {
                if (workflow.Id == workflowId)
                {
                    using (SPSite site = Web.Site)
                    {
                        Web.AllowUnsafeUpdates = true;
                        SPSecurity.RunWithElevatedPrivileges(delegate()
                        {
                            site.WorkflowManager.StartWorkflow(listItem, workflow, workflow.AssociationData);
                        });
                    }
                }
            }
        }

以编程方式启动SharePoint工作流的问题

我试图从一个通用处理程序(.ashx)做所有这些,因为要启动一个工作流,它做回发,它正在崩溃我的工作流。