передача значения от деятельности к другому в WF - PullRequest
0 голосов
/ 08 сентября 2011

Я работаю с 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);

    }
}

То, что я хочу, это когда я перетаскиваю эти два действия в rehostedрабочий процесс.Сначала я хочу перетащить Draft_Doc, а затем свяжу с ним WaitingTheApproval.

Итак, я хочу, чтобы возвращаемое значение из Draft_Doc было установлено в InArgument previous_stage в WaitingTheApproval во время выполнения.Anyhelp

1 Ответ

1 голос
/ 13 марта 2012

Невозможно напрямую передать значение из одного действия в другое. Вы должны присвоить значение переменной в первом действии и использовать переменную, которая была назначена во втором действии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...