我遇到基于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日志和事件查看器中找不到任何日志信息。
答案 0 :(得分:0)
是的,不幸的是,当不直接继承CodeActivity类时,活动仍然有效,但Sharepoint Designer无法使用它。我认为这是一个Sharepoint Designer的错误。