第二個工作流實例--使用WorkflowInvoker向工作流傳遞參數


1:使用WorkflowInvoker向工作流傳遞參數

當宿主進程啟動一個工作流時,傳遞一些自定義啟動參數是很常見的情況,WorkflowInvoker的Invoke方法有很多重載,其中允許你向工作流傳遞啟動參數,這些參數保存在一個Dictionary變量中,它包含的名稱/值對可用來設置工作流中的同名(同類型)的參數變量
    2:使用工作流設計器定義參數
    可以使用工作流設計器來定義參數並獲取字典數據。在解決方案中,右擊Workflow1.xaml選擇View Designer(視圖設計器),注意在設計器底部有一個名為Arguments(參數)的按鈕,單擊該按鈕,在彈出的UI中,添加一個string類型的輸入參數Message (不需要為該類型指定默認值)。
第二個工作流實例--使用WorkflowInvoker向工作流傳遞參數
現在,在WriteLine活動的Text屬性中,可以輸入Message作為賦值表達式,當你輸入字符時,可以看到智能感知
第二個工作流實例--使用WorkflowInvoker向工作流傳遞參數
現在我們有的基礎設施,就可以對Main方法進行修改,注意文件中要引用System.Collections.Generic命名空間,來聲明Dictionary<>變量。
static void Main(string[] args)
{
    string wfData = Console.ReadLine();
 
    //這里用Dictionary類型,因為Invoke重載接受這種鍵值對的類型
    Dictionary wfArgs = new Dictionary();
 
    //使用鍵值對,鍵為我們剛才加的參數名稱,將數據存入到字典中
    wfArgs.Add("Message",wfData);
 
    //傳遞給工作流
    WorkflowInvoker.Invoke(new Workflow1(),wfArgs);
}
注意:Dictionary<>變量中的每個成員鍵必須與工作流中相應的參數變量名一致,運行程序,我們像頻幕輸入123,工作流輸出123
第二個工作流實例--使用WorkflowInvoker向工作流傳遞參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM