0

BookmarkOptions.NonBlocking で CreateBookmark() を使用した人はいますか? MultipleResume オプションで使用しようとしていますが、再開することさえできないようです。

ブックマーク アクティビティ:

    public InArgument<string> BookmarkName { get; set; }
    public InArgument<BookmarkOptions> BookmarkOptions { get; set; }

    protected override void Execute(NativeActivityContext context)
    {
        var options = BookmarkOptions.Get(context);
        context.CreateBookmark(BookmarkName.Get(context),
                                          ReadCompleteCallback,options);
    }

テストコード:


 [TestMethod]
    public void TestMethod1()
    {
        InitWorkflow();
        wfat = WorkflowApplicationTest.Create(sm);
        wfat.TestActivity();
        Assert.IsTrue(wfat.WaitForIdleEvent());
        var res = wfat.TestWorkflowApplication.ResumeBookmark("First", "data");
        Assert.IsTrue(res == BookmarkResumptionResult.Success, "Resumption fail with result:" + res);
        Assert.IsTrue(wfat.Bookmarks.Contains("First"), "No first bkmk");

    }


    private void InitWorkflow()
    {

        sm = new StateMachine()
        {
            States = 
             {        //First state with non blocking bookmark             
                 new State(){
                      DisplayName = "First",Entry = new BookmarkActivity(){BookmarkName = "First",BookmarkOptions =
                                BookmarkOptions.NonBlocking | BookmarkOptions.MultipleResume},
                      Transitions = 
                      {
                            new Transition(){ }
                     }
                 },    //Second state with blocking bookmark
                 new State(){
                     DisplayName = "Second",Entry =  new BookmarkActivity(){BookmarkName = "Second",BookmarkOptions =
                                BookmarkOptions.None},
                     Transitions = 
                     {
                         new Transition(){ }
                     }
                 },
                 new State(){
                     DisplayName = "End",
                    IsFinal = true
                 }
             }
        };
        sm.InitialState = sm.States[0];
        sm.InitialState.Transitions[0].To = sm.States[1];
        sm.States[1].Transitions[0].To = sm.States[2];
    }

上記のテスト コードの ResumeBookmark の結果は「NotFound」です

NonBlocking オプションを示す実際のコードをいただければ幸いです。

4

1 に答える 1