我的测试项目目前结构是:
PageLoad事件中调用SetContainer函数初始化NetBPM,Unload事件中调用DisposeContainer函数清场。
页面上放置一个按钮,点击时开始一个新的Holiday request过程,并显示刚刚启动的流程ID。
需要注意的是要开始新的流程前要调用testUtil.LoginUser(actorId);进行登录,否则无法开始新的流程。
接下来要进行更深入的研究了。
最后贴出代码:
WebForm1.aspx
1
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="TestNBPM.WebForm1" %>
2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
3
<HTML>
4
<HEAD>
5
<title>WebForm1</title>
6
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
7
<meta content="C#" name="CODE_LANGUAGE">
8
<meta content="JavaScript" name="vs_defaultClientScript">
9
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
10
</HEAD>
11
<body MS_POSITIONING="GridLayout">
12
<form id="Form1" method="post" runat="server">
13
<asp:button id="btStartRequest" style="Z-INDEX: 101; LEFT: 72px; POSITION: absolute; TOP: 8px"
14
runat="server" Text="开始申请"></asp:button><asp:label id="Label1" style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 8px" runat="server">流ID:</asp:label></form>
15
</body>
16
</HTML>
17
WebForm1.aspx.cs2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using Castle.Windsor.Configuration.Interpreters;
12
using NetBpm;
13
using NetBpm.Workflow.Definition;
14
using NetBpm.Workflow.Definition.EComp;
15
using NetBpm.Workflow.Definition.Attr;
16
using NetBpm.Workflow.Execution;
17
using NetBpm.Workflow.Execution.EComp;
18
using NetBpm.Util.Client;
19
using NetBpm.Workflow.Organisation.EComp;
20
using NetBpm.Workflow.Scheduler.EComp;
21
22
namespace TestNBPM
23
还有一个Utitilities.cs2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
using System;
2
using System.Collections;
3
using System.Threading;
4
using NetBpm.Util.Client;
5
using NetBpm.Workflow.Execution;
6
using NetBpm.Workflow.Execution.EComp;
7
using NetBpm.Workflow.Organisation;
8
9
namespace TestNBPM
10
2
3
4
5
6
7
8
9
10