【发布时间】: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