Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sharepoint联机工作流重新启动错误(控制台应用程序)_C#_Sharepoint_Sharepoint 2010_Sharepoint Workflow - Fatal编程技术网

C# Sharepoint联机工作流重新启动错误(控制台应用程序)

C# Sharepoint联机工作流重新启动错误(控制台应用程序),c#,sharepoint,sharepoint-2010,sharepoint-workflow,C#,Sharepoint,Sharepoint 2010,Sharepoint Workflow,我经常收到为我的一些列表项重新启动工作流的请求。我已经编写了一个应用程序,它以库名和列表项名作为输入。当我尝试启动工作流StartWorkflow方法时,我从HRESULT:0x8102009B获得此错误异常,并且没有内部异常。下面是我的代码 有时工作流可能已经启动。在这种情况下,我需要取消工作流,然后重新启动 我在这个问题上做了很多研究。大部分决议是针对SP 2010的。我们正在使用SP Online clientContext.Credentials = new SharePointOnli

我经常收到为我的一些列表项重新启动工作流的请求。我已经编写了一个应用程序,它以库名和列表项名作为输入。当我尝试启动工作流StartWorkflow方法时,我从HRESULT:0x8102009B获得此错误异常,并且没有内部异常。下面是我的代码

有时工作流可能已经启动。在这种情况下,我需要取消工作流,然后重新启动

我在这个问题上做了很多研究。大部分决议是针对SP 2010的。我们正在使用SP Online

clientContext.Credentials = new SharePointOnlineCredentials(Userid, Password);
var web = clientContext.Web;
List list = web.Lists.GetByTitle("listname");
clientContext.Load(list);

                CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "<View><Query><OrderBy><FieldRef Name='FileLeafRef' Descending='True'/></OrderBy><Where><Eq><FieldRef Name='FileLeafRef'/><Value Type='File'>" + ListItemName + ".xml</Value></Eq></Where></Query><RowLimit>1</RowLimit></View>";
                ListItemCollection items = list.GetItems(camlQuery);
clientContext.Load(items);
                clientContext.ExecuteQuery();

                var id = items.Where(a => a.FieldValues["FileLeafRef"].ToString() == ListItemName + ".xml").Select(a => a.Id).FirstOrDefault();
Guid listItemID = (Guid)items.Where(a => a.FieldValues["FileLeafRef"].ToString() == ListItemName + ".xml").Select(a => a.FieldValues["GUID"]).FirstOrDefault();

WorkflowAssociationCollection wfaCollection = items.Where(a => a.FieldValues["FileLeafRef"].ToString() == ListItemName + ".xml")
                                                .Select(a => a.ParentList.WorkflowAssociations).FirstOrDefault();
clientContext.Load(wfaCollection);

                var workflowServiceManager = new WorkflowServicesManager(clientContext, web);
clientContext.Load(workflowServiceManager);
                clientContext.ExecuteQuery();

    InteropService workflowInteropService = workflowServiceManager.GetWorkflowInteropService();
clientContext.Load(workflowInteropService);


                var wfaName = wfaCollection.Where(a => a.Enabled == true).Select(a => a.Name).FirstOrDefault();
Guid wfaId = wfaCollection.Where(a => a.Enabled == true).Select(a => a.Id).FirstOrDefault();
var initiationData = new Dictionary<string, object>();

ClientResult<Guid> resultGuid = workflowInteropService.StartWorkflow(wfaName, new Guid(), list.Id, listItemID, initiationData);

clientContext.ExecuteQuery();

有没有人有机会看看上面的问题?你找到解决办法了吗?我也有同样的问题!不。我没有找到任何解决办法。我已经解决了我的问题。让我知道如果你需要我的解决方案,请分享…这将帮助很大