我有一个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);
}
}
答案 0 :(得分:0)
您不会向书签添加参数。相反,您通常会创建一个书签,然后将书签或其名称以及任何其他将要恢复书签的数据传递给它。这通常涉及活动或工作流程扩展,但这不是必须的。