在WF中将值从活动传递到另一个

时间:2011-09-08 10:20:57

标签: android-activity workflow-foundation-4

我正在和WF合作。 我做了一个名为Draft_Doc的自定义活动:

public sealed class Draft_Doc : CodeActivity<string> 
{
    protected override string Execute(CodeActivityContext context)
    {
        C.Send_Task_Msg(unique_name, "Draft");
        return "Draft";
    }
}

我制作了另一个包含书签的活动。

public sealed class WaitingTheApproval : NativeActivity
{
    WorkflowInstanceProxy instance;
    Service1Client C = new Service1Client();
    public InArgument<string> previous_stage { get; set; }
    public string stageName;

    protected override void CacheMetadata(NativeActivityMetadata metadata)
    {
        base.CacheMetadata(metadata);
        metadata.AddDefaultExtensionProvider<MyExtension>(() => new MyExtension());

        //RuntimeArgument argSql = new RuntimeArgument("SqlConnectionString", typeof(String), ArgumentDirection.In);

    }

    protected override bool CanInduceIdle
    {
        get { return true; }
    }

    protected override void Execute(NativeActivityContext context)
    {

        var bookmark = context.CreateBookmark("MyBookmark", BookmarkResumed);
        var extension = context.GetExtension<MyExtension>();
        instance = extension._instance;
        stageName = context.GetValue(this.previous_stage);

        stageName = previous_stage.Get(context);
        WaitSome(bookmark);

    }
}

我想要的是,当我将这两个活动拖放到重新托管的工作流程中时。我想首先拖动Draft_Doc然后我将WaitingTheApproval与它链接。

所以,我想在运行时在WaitingTheApproval的InArgument previous_stage中设置Draft_Doc的返回值。 Anyhelp?

1 个答案:

答案 0 :(得分:1)

无法直接将值从一个活动传递到另一个活动。您应该将值分配给第一个活动中的变量,并使用已在第二个活动中分配的变量。