转:http://www.cnblogs.com/dannyli/archive/2011/08/02/2125285.html
使用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>"); }
流程图如下:

本文详细介绍了如何使用C#代码来发起K2流程,并通过连接字符串与SQLServer数据库进行交互,包括创建流程实例、指定流程单号、为流程中DataField赋值及最终发起流程的操作。此外,提供了流程发起代码示例,方便开发者快速上手。

8186

被折叠的 条评论
为什么被折叠?



