【问题标题】:How to add parameters when calling CreateBookmark调用 CreateBookmark 时如何添加参数
【发布时间】:2012-01-11 12:03:40
【问题描述】:

我有一个 NativeActivity,我正在 Execute 方法中创建一个书签,以便我知道我在工作流中的位置。我创建书签的原因是,一篇文章的库存不足,所以我需要询问用户是否想要另一篇有库存的文章。

用户会收到一个问题,以选择有货的替代文章之一。要获取替代文章,我需要从工作流中获取原始文章编号。

我使用 ASP .NET MVC,所以我不再有文章编号,因为它是无状态的。工作流不会出现在完成的事件中,所以我无法阅读 OutArguments。我需要知道如何通过书签传递参数。

谢谢

public sealed class AskAlternative : NativeActivity
{
    public OutArgument<string> ArticleNumber { get; set; }

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

    protected override void Execute(NativeActivityContext context)
    {
        context.CreateBookmark(ShoppingCartFlowActivityViews.AskAlternative.ToString(), Continue);
    }

    void Continue(NativeActivityContext context, Bookmark bookmark, object obj)
    {
        var tuple = (Tuple<string>)obj;

        context.SetValue(ArticleNumber, tuple.Item1);
    }

}

【问题讨论】:

    标签: workflow-foundation workflow-foundation-4 workflow-activity


    【解决方案1】:

    您不向书签添加参数。相反,您通常会创建一个书签,然后将书签或仅其名称以及任何其他恢复书签所需的数据传递给任何人。这通常涉及活动或工作流程扩展,但这不是必须的。

    【讨论】:

    • 你能告诉我怎么做吗?我需要在我的应用程序中返回 ArticleNumber。请参阅上面的示例。
    猜你喜欢
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    相关资源
    最近更新 更多