2

私はNativeActivityを持っており、ワークフロー内のどこにいるかを知るためにExecuteメソッドでブックマークを作成しています。ブックマークを作成する理由は、記事の在庫が十分でないため、在庫がある別の記事が必要かどうかをユーザーに尋ねる必要があります。CreateBookmarkを呼び出すときにパラメータを追加する方法

ユーザーは、在庫がある代替記事の1つを選択する質問を受け取ります。代替記事を入手するには、ワークフローの元のarticlenumberを取得する必要があります。

私は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

ブックマークにパラメータを追加しないでください。代わりに、通常はブックマークを作成し、ブックマークを再開する誰かに必要な他のデータとともに、ブックマークまたはその名前だけを渡します。多くの場合、アクティビティやワークフローの拡張が必要ですが、これには必須ではありません。

+1

私にそれを表示することはできますか?私は私のアプリケーションでArticleNumberを取り戻す必要があります。上記の例を参照してください。 –

関連する問題