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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Visual studio 2010 如何在Sharepoint 2010中终止工作流_Visual Studio 2010_Sharepoint_Sharepoint 2010 - Fatal编程技术网

Visual studio 2010 如何在Sharepoint 2010中终止工作流

Visual studio 2010 如何在Sharepoint 2010中终止工作流,visual-studio-2010,sharepoint,sharepoint-2010,Visual Studio 2010,Sharepoint,Sharepoint 2010,在Sharepoint 2010中完成自定义工作流任务后,我当前面临此错误。它显示错误“error accurrent”,我怀疑工作流没有正确终止。如何以编程方式终止工作流?我看到大多数网站要求我们使用以下代码,但我不知道如何实施这些代码 SPWorkflowCollection itemWorkflowCollection= listItem.Workflows; foreach (SPWorkflow itemWorkflow in itemWorkflowCollection) {

在Sharepoint 2010中完成自定义工作流任务后,我当前面临此错误。它显示错误“error accurrent”,我怀疑工作流没有正确终止。如何以编程方式终止工作流?我看到大多数网站要求我们使用以下代码,但我不知道如何实施这些代码

SPWorkflowCollection 
itemWorkflowCollection= listItem.Workflows;
foreach (SPWorkflow itemWorkflow in itemWorkflowCollection)
{
  //cycle workflows associated to the item (listItem)
  if (!itemWorkflow.IsCompleted && itemWorkflow.InternalState == SPWorkflowState.Running)
  {
    foreach (SPWorkflowTask taskWorkflow in itemWorkflow.Tasks)
    {
      //cycle throught all tasks associated to the workflow
      //if task is not completed
      if (taskWorkflow["PercentComplete"].ToString() != “1″)
      {
        //you can cancel or change the running tasks before canceling the workflow
        taskWorkflow["Status"] = “Canceled”;
        taskWorkflow["PercentComplete"] = 1;
        web.AllowUnsafeUpdates = true;
        taskWorkflow.Update();
      }
    }
    SPWorkflowManager.CancelWorkflow(itemWorkflow);
  }
}

显示的代码将取消未完成且其内部状态为正在运行的工作流。如果是这种情况,所有相关的工作流任务都将被取消,最终工作流将被取消。 如果在状态为“错误发生”的工作流(WF)上执行此代码,将不会发生任何事情

“发生错误”表示WF有一个错误,SharePoint已取消该错误-无需尝试终止该WF,因为它已终止


您现在需要做的是找出此WF抛出错误的原因。首先检查工作流状态页面(其中的任何错误描述,如“无法发送电子邮件”),然后可以检查windows事件日志中的错误(可能没有相关错误)最后也是最重要的一点是,您将在ULS日志中找到错误描述和进一步信息。

您没有指定错误数据。您只说“发生了错误”-您需要像我前面所说的那样检查标准sharepoint源中的错误。