另一个自定义活动中的自定义子活动;不要坚持下去
本文关键字:自定义 坚持 活动 活动中 另一个 | 更新日期: 2023-09-27 17:59:20
我有一个自定义活动,其中包含其他活动,可以使用如下执行属性:
public sealed class GlobalContainerActivity:NativeActivity
{
[RequiredArgument]
public InArgument<WfParam> WfparamInArg { get; set; }
/// <summary>
/// Gets or sets Body.
/// </summary>
[DefaultValue(null)]
public Activity Body { get; set; }
protected override void Execute(NativeActivityContext context)
{
var generalargument = context.GetValue(WfparamInArg);
context.Properties.Add(GlobalWfparam.Name, new GlobalWfparam(generalargument));
if (Body != null)
{
context.ScheduleActivity(Body);
}
}
我有一个自定义的子活动,它将人类交互的工作流持久化,如下所示:
public class WaitActivity :NativeActivity
{
public string BookmarkName { get; set; }
public OutArgument<WfBookmark> WfBookmark { get; set; }
protected override void Execute(NativeActivityContext context)
{
try
{
BookmarkName = "ResumeFlow";
context.CreateBookmark(BookmarkName, Continue);
}
catch (Exception)
{
throw;
}
}
private void Continue(NativeActivityContext context, Bookmark bookmark, object value)
{
WfBookmark wfBookmarkParam = (WfBookmark)value;
WfBookmark.Set(context, wfBookmarkParam);
}
protected override bool CanInduceIdle
{
get
{
return true;
}
}
}
在完成此类之后,工作流程停止,没有任何错误,但在那之后,我想恢复工作流,我遇到了一个错误,提到InstanceStore Id没有持久化,也没有恢复流程
我发现有一种想法叫做"无持久区域",我用错了方法,所以我建议不要在你想持久化WorkFlow 时使用它