工作流管理器自定义活动基类派生自codeactivity

时间:2018-02-27 13:54:39

标签: c# sharepoint workflow

我遇到基于Sharepoint Workflow环境的自定义活动的问题。 我想通过OOP扩展CodeActivity类。

以简化形式,像这样(只是一个样本):

public class RestApiBasedActivity : CodeActivity
{
  public InArgument<string> Url { get; set;}
  public OutnArgument<string> Error { get; set;}

  protected override void Execute(CodeActivityContext context)
  {
    RestApiCall(Convert.ToString(this.Url));
  }
  public virtual void RestApiCall(string url)
  {
    ....
  }
}


public sealed class MyExactActivity : RestApiBasedActivity
{
  public override void RestApiCall(string url)
  {
    // call some method
    base.RestApiCall(url);
  }
}

MyExactActivity存在于AllowedTypes.xml和CustomActivities.actions4文件中。

MyExactActivity工作正常,可以在Sharepoint Designer中显示Action。

当我尝试将其放在从“活动”中选择的工作流程时,则Sharepoint Designer无法插入它。

我真的不明白为什么Action插入了? 我在ULS日志和事件查看器中找不到任何日志信息。

1 个答案:

答案 0 :(得分:0)

是的,不幸的是,当不直接继承CodeActivity类时,活动仍然有效,但Sharepoint Designer无法使用它。我认为这是一个Sharepoint Designer的错误。