簡體   English   中英

在 windows 工作流程 4.5 中處理多個書簽

[英]Dealing with multiple bookmarks in windows workflow 4.5

我剛從 windows 工作流程 4.5 開始。 我正在創建一個簡單的控制台應用程序。 我一直在向用戶詢問數據。 我遵循了一些教程,並創建了一些要求用戶提供不同數據的活動。 這些活動創建書簽。 如何在我的主機程序中處理這些多個書簽。 該教程有一個循環,似乎假設只有一個書簽。 看起來像

    WaitHandle[] handles = new WaitHandle[] { syncEvent, idleEvent };
    while (WaitHandle.WaitAny(handles) != 0)
    {
        bool needsReview = false;
        while (!needsReview)
        {
            var response = Console.ReadLine();
            Boolean review;
            if (response == "y")
            {
                needsReview = true;
                review = true;
                wfApp.ResumeBookmark("Review", review);
            }
            else if (response == "n")
            {
                needsReview = true;
                review = false;
                wfApp.ResumeBookmark("Review", review);
            }
            else
            {
                Console.WriteLine("Enter 'y' or 'n'");
            }
        }
    }

當我向用戶處理許多必須以不同方式處理信息並恢復不同書簽的提示時,如何正確編寫此內容。

如果要開發控制台應用程序,則它是桌面應用程序。 因此,我假設有一個用戶,一個工作流程一次工作。 工作流是否可能在不同的書簽處停止了? 不確定您在現實生活中的意思。

無論如何,書簽名稱都是識別不同書簽的一種方法,並且在創建一個書簽對象時也可以保留它

Bookmark bookmark = wfApp.CreateBookmark("aasdasd");

我完全理解傑克的問題並且有同樣的問題。 他解釋得很好,但讓我再試一次:

  1. 我有一個工作流程,它按順序要求幾條數據。 每次工作流暫停輸入時,它都有一個唯一的書簽名稱。

  2. 恢復工作流的教程代碼是一個循環,檢查單個書簽名稱。

  3. 據我所知,沒有辦法查詢當前“活動”的書簽,即暫停工作流程。 您必須知道書簽名稱。 因此,您無法動態區分多個書簽。

WaitHandle[] handles = new WaitHandle[] { syncEvent, idleEvent };

while (WaitHandle.WaitAny(handles) != 0) {

//a lot of boilerplate code

wfApp.ResumeBookmark("EnterGuess", Guess);

}

完整的例子可以在這里找到。 滾動到最后以查看我已粘貼一半的循環。 (抱歉,注釋不允許完整的代碼塊)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM