工作流和宿主應用程式交流

2022-01-28 19:38:36 字數 1460 閱讀 8424

其實和工作流的互動我前面已經有個文字了。就是這個:給wwf傳遞引數

這個文章主要說的就是第二中情況。事件和方法,是指工作流新增activity的事件來接受和傳遞引數

。這裡面有兩個很重要的活動callexternalmethodactivityhandleexternalevent

前者是呼叫方法,後者是呼叫事件。其中宿主應用程式呼叫事件,工作流呼叫方法。這個兩個是基本的概念。

事件只有兩個引數,乙個是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 專案 位於 其他語言 下 然後選擇 工作流 在 模板 窗格中,選擇 順序工作流控制台應用程式 在 名稱 框中,...