我有一个NativeActivity,并且我在Execute方法中创建了一个书签,这样我就可以知道我在工作流中的位置。我创建书签的原因是,呃,一篇文章没有足够的库存,所以我需要问用户,如果我想要另一篇库存文章。
用户将得到一个问题,要求选择现货中的一种可选商品。要获得替代文章,我需要从工作流程中获得原始的articlenumber。
我使用ASP,所以我不再有.NET编号,因为它是无状态的。工作流不会出现在completed事件中,因此我无法读取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);
}
}发布于 2012-01-11 21:54:38
您不能将参数添加到书签。相反,你通常创建一个书签,然后传递书签,或者只是书签的名称,以及任何要恢复书签的人所需的任何其他数据。这通常涉及到一个活动或工作流扩展,但这不是必须的。
https://stackoverflow.com/questions/8818902
复制相似问题