0

我正在使用 coreservice 在工作流中创建第一个自动化活动“返回给作者”。以下是我的代码。

  1. 创建组件并完成
  2. 查看组件并选择“返回作者”这是一项自动化任务,因为我已经编写了以下代码。但是没有执行该活动。

你能帮帮我吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using Tridion.ContentManager.CoreService.Client;

namespace CoreComponentWorkflow
{
  [ProgId("CoreComponentWorkflow.WorkflowHandler")]

  public class AutomaticWorkflowHandler
  {
    public void MoveBackToActivity(string strActivitytoMove)
    {
      var client = new SessionAwareCoreServiceClient();
      var finishdata = new ActivityFinishData();
      finishdata.Message = strActivitytoMove;
      var process = new ProcessInstanceData();
      var activity = (ActivityInstanceData)process.Activities[0];
      client.FinishActivity(activity.Id, finishdata, new ReadOptions());
    }
  }
}
4

1 回答 1

1

您的代码中有几处需要审查。

  1. 您创建一个新的 ProcessInstanceData 而不是从当前实例中读取它。因此你肯定不会有process.Activities[0],因为这个过程是新的。
  2. 您从工作流脚本传递给您的活动的参数是什么?
  3. 您当前的工作项在哪里?

用一些常识检查您的代码,并尝试遵循流程(例如远程调试)。尝试与您之前的 TOM.NET 代码进行比较,看起来您只是在黑暗中拍摄。

于 2012-07-06T12:33:17.817 回答