使用C#代碼,發起一個K2的流程,其形式和連結SQL Server資料庫的代碼差不多,都是通過連接字串,然後OPEN,然後....你懂的。
下面是K2流程發起的代碼,僅供參考。同時,如果有K2方面的高手,還請多多指教小弟。
protected void ProcessSubmit_Click(object sender, EventArgs e)
{
//建立連線物件
SourceCode.Workflow.Client.Connection wfcon = new SourceCode.Workflow.Client.Connection();
//開啟連結(傳入K2伺服器及其連接埠)
string k2Server = System.Configuration.ConfigurationManager.AppSettings["K2Server"];
string workflowServicePort = System.Configuration.ConfigurationManager.AppSettings["WorkflowServicePort"];
wfcon.Open(k2Server + ":" + workflowServicePort);
//建立流程執行個體
SourceCode.Workflow.Client.ProcessInstance proInst = wfcon.CreateProcessInstance(@"TestProcess\ProcessDHFKSQ");
//指定流程單號
proInst.Folio = Folio.Text;
//為流程中 DataField 賦值
proInst.DataFields["HigherLevelApprover"].Value = HigherLevelApprover.Text;
proInst.DataFields["FinanceApprover"].Value = FinanceApprover.Text;
proInst.DataFields["ApprovalPage"].Value = System.Configuration.ConfigurationManager.AppSettings["ApprovalPage"];
//發起流程
wfcon.StartProcessInstance(proInst);
//儲存資料到 SmartObject
SaveData(proInst.ID);
//結束
wfcon.Dispose();
Response.Write("<script language='javascript' type='text/javascript'>window.close()</script>"); }
流程圖如下: