调用CreateBookmark时如何添加参数
我有一个 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);
}
}
I have a NativeActivity and i'm creating a Bookmark in the Execute method so that I know where I was in the workflow. The reason why i'm creating a bookmark is that er not enough stock is for an article, so I need to ask to the user if I wants another article that is on stock.
The user would get a question to select one of the alternative articles that are on stock. To get the alternative articles, I need to get them with original articlenumber from the workflow.
I use ASP .NET MVC so I don't have the articlenumber anymore because it is stateless. The Workflow won't come in the completed event so I can't read the OutArguments. I need to know how I pass a parameter(s) with a bookmark.
Thanks
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);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不向书签添加参数。相反,您通常会创建一个书签,然后将该书签或仅其名称以及恢复该书签的任何人所需的任何其他数据一起传递。通常这涉及活动或工作流程扩展,但这不是必须的。
You don't add parameters to a bookmark. Instead you normally create a bookmark and then pass the bookmark, or just its name, along with any other data required to whoever will be resuming the bookmark. Often this involves an activity or workflow extension but this isn't a must have.