其實和工作流的互動我前面已經有個文字了。就是這個:給wwf傳遞引數
這個文章主要說的就是第二中情況。事件和方法,是指工作流新增activity的事件來接受和傳遞引數
。這裡面有兩個很重要的活動callexternalmethodactivity和handleexternalevent。
前者是呼叫方法,後者是呼叫事件。其中宿主應用程式呼叫事件,工作流呼叫方法。這個兩個是基本的概念。
事件只有兩個引數,乙個是sender誰觸發的,乙個是相關的引數。這是固定。
先說這些基本概念,然後說乙個具體例子。這個例子執行乙個工作流,然後先開始投票這個工作。然後要給乙個人投票,支援或者反對這是兩個事件。
&<60;&<60;&<60; 新建順序工作流控制台專案。新增window.form引用。開啟program檔案,裡面已經有了**。使用這個**當然也可以。也可以使用這個**,和原來的**基本相同,就是新增了。工作流引擎建立和結束的事件輸出而已
class program
static void workflowruntime_workflowcompleted(object sender, workflowcompletedeventargs e)
static void workflowruntime_workflowcreated(object sender, workfloweventargs e)
}externaldataexchangeservice dataservice = new externaldataexchangeservice();
workflowruntime.addservice(dataservice);
votingservice = new votingservice();
dataservice.addservice(votingservice);
注意這段話,使用互動必須新增這個服務,
votingservice就是將要使用的服務類。
這裡要說明的服務類的格式是基本固定。乙個介面。介面中定義事件和方法,乙個引數類繼承externaldataeventargs而且要實現序列化,然後就是實現類他繼承介面。
callexternalmethodactivity.設定他的幾個必須屬性
介面和方法,開啟選擇框可以看到我們已經定義好的介面
ivotingservice
,然後選擇方法
createballot。這是這個方法有個引數alias在面板中設定jim。這個活動就設定完畢了。
然後我們新增乙個listen活動。這個listen活動是有兩個以上的事件活動組成的。他的特點是只要其中乙個事件執行那麼整個listen就算完成了。
我們託兩個handleexternalevent
ivotingservice介面,和
本文使用blog_backup未註冊版本匯出,請到soft.pt42.com註冊。
工作流和宿主應用程式交流
wf提供了一組核心服務,例如在sql 資料庫中儲存工作流例項的執行詳細資訊的永續性服務,計畫服務,事務服務和跟蹤服務。除了這些wf也提供了另外一種服務,叫做local service也可以叫做data exchange service。主要是實現工作流和宿主程式之間的通訊,使工作流能夠使用方法和事件...
使用工作流開發應用程式
使用工作流開發應用程式 nease 原創 參與分 191,專家分 250 發表 2003 8 25 下午9 12 更新 2003 8 26 上午8 09 版本 1.0 閱讀 5581次 在 forrester report 提出的關於工作流程概念定義中,將工作流程比喻為 資訊河流 即日常的業務處理或...
如何建立順序工作流控制台應用程式
啟動 visual studio。在 檔案 選單上指向 新建 然後選擇 專案 此時將開啟 新建專案 對話方塊。在 專案型別 窗格中,選擇 visual c 專案或 visual basic 專案 位於 其他語言 下 然後選擇 工作流 在 模板 窗格中,選擇 順序工作流控制台應用程式 在 名稱 框中,...