另一个自定义活动中的自定义子活动不会保留

时间:2014-04-21 09:59:27

标签: c# workflow-foundation-4

我有一个自定义活动,其中包含其他活动以使用这样的执行属性:

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不会持久且不会恢复流程

1 个答案:

答案 0 :(得分:0)

我发现有一些认为被称为没有持久性区域而且我以错误的方式使用它所以我再次赞扬不使用它什么时候你想要坚持WorkFlow