(1)怎麼傳遞流程引數?啟動流程例項時把引數裝載到
dictionary中作為createworkflow方法的引數傳遞:
// fill the parameters collection for this instance of the workflow
dictionary
parameters = new
dictionary
();parameters.add("createdby", txtcreatedby.text);
parameters.add("equipmentname", txtname.text);
parameters.add("numbers",strtoint(txtnumbers.text));
parameters.add("moneys", strtofloat(txtmoneys.text));
parameters.add("desc", txtdesc.text);
// get the type of the workflow
// start the workflow instance
workflowinstance inst = theworkflowruntime.createworkflow(type, parameters);
inst.start();
獲取引數是在流程檔案中建立相同名稱的屬性,流程中就可以得到這些引數:
#region
屬性private
string m_equipmentname = "";
public
string equipmentname
set
}private
int m_numbers = 0;
public
int numbers
set
}private
float m_moneys = 0;
public
float moneys
set
}private
string m_desc = "";
public
string desc
set
}private
string m_createdby = "";
public
string createdby
set
}#endregion
(2)怎麼持久化流程?需要在初始化流程執行時的時候增加增加其久化服務:
// add system sql persistence
service
sqlworkflowpersistenceservice persistenceservice = new
sqlworkflowpersistenceservice(
"initial catalog=persistencestore;" +
"data source=localhost\\sqlexpress; integrated security=sspi");
wr.addservice(persistenceservice);
還需要增加空閒時事件:
wr.workflowidled += new
eventhandler
(wr_workflowidled);
下面的**表示在流程空閒時持久化(事實上是儲存到資料庫,也可以包括到檔案,你也可以隨時持久化流程)。
void
wr_workflowidled(object sender, workfloweventargs e)
static
void unloadinstance(object workflowinstance)
(3)怎麼增加自定義的服務?需要增加服務介面和引數類:
[serializable]
public
class
public
string operatorname
set }}
[externaldataexchange]
public
inte***ce
[externaldataexchange]對於服務介面是必要的宣告,否則不能把服務增加到流程中。增加乙個類實現這個介面:
public
class
public
}public
public
}#region
void
void
void
#endregion}
在初始化流程執行時的時候就可以把服務增加進來:
// add the external data service
externaldataexchangeservice dataservice = new
externaldataexchangeservice();
wr.addservice(dataservice);
WF4 0 實戰 WF4 0申請審批例項
工作流 workflow 就是 業務過程的部分或整體在計算機應用環境下的自動化 它主要解決的是 使在多個參與者之間按照某種預定義的規則傳遞文件 資訊或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現 一句話 工作流就是一系列相互銜接 自動進行的業務活動。再通俗點就是對於乙個業務需...
Activiti獲取某個流程例項已經審批的節點記錄
已知businessid即eventid獲得對應的審批記錄 某個流程例項的節點資訊都是存放在act hi actinst表中 business key存放在act hi procinst中,得到historicprocessinstance後獲得對應的流程例項id。然後根據流程例項id獲得act h...
Activiti獲取某個流程例項已經審批的節點記錄
size large color red 已知businessid即eventid獲得對應的審批記錄 color size size medium color blue 某個流程例項的節點資訊都是存放在act hi actinst表中 color size color red business ke...