[JWF][API] 显示当前所有用户信息

本文通过VB和C#示例介绍了如何使用AdobeWorkFlow API连接服务器并列出所有用户及其ID,这对于后续工作任务处理非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说实话,AdobeWorkFlow的API写的太一般了,基本没有什么可以直接就可以运行的例子。
大量的代码都是用ASP的VBS脚本完成的。对于这样一个帮助文档,只能让我去猜,它实现了什么功能。

总结了一下,显示当前所有WorkFlow中用户的唯一标识是一个很有用的功能,因为,在以后的工作任务处理过程中,经常要使用这个ID。

但WorkFlow的API只提供了功能实在太弱的方法为程序开发人员使用。

我原来用VB写了个例子,要以做为一个参考。

None.gifOption Explicit
None.gif
None.gif
Dim g_connObj As EPSDK.Connection
None.gif
Dim g_connStr As String
None.gif
Dim g_userName As String
None.gif
Dim g_password As String
None.gif
Dim g_dsnName As String
None.gif
Dim g_server As String
None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif
Private Sub cmdInitializeConnect_Click()Sub cmdInitializeConnect_Click()
InBlock.gif
InBlock.gif    
Set g_connObj = New EPSDK.Connection
InBlock.gif    
Dim connStr
InBlock.gif    
' connStr = "DSN=" & g_dsnName & ";SERVER=" & g_server & ";UID=" & g_userName & ";PWD=" & g_password
InBlock.gif
    connStr = "DSN=Adobe Workflow Server"
InBlock.gif    
InBlock.gif    
' Open connection
InBlock.gif
    g_connObj.Open (connStr)
InBlock.gif    
InBlock.gif    Debug.Print 
"Initialize connection succeful"
InBlock.gif    
ExpandedBlockEnd.gif
End Sub

None.gif
None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif
Private Sub cmdListUsers_Click()Sub cmdListUsers_Click()
InBlock.gif    
If g_connObj Is Nothing Then
InBlock.gif        
MsgBox ("Please connect to server first")
InBlock.gif        
Exit Sub
InBlock.gif    
End If
InBlock.gif    
InBlock.gif    
Dim rs As EPSDK.Recordset
InBlock.gif    
Set rs = New EPSDK.Recordset
InBlock.gif    
InBlock.gif    
Dim strSql As String
InBlock.gif    strSql 
= "select DisplayName, userID from users"
InBlock.gif    
InBlock.gif    
Set rs = g_connObj.Execute(strSql)
InBlock.gif    
InBlock.gif    
If rs.EOF Then
InBlock.gif        
MsgBox "There are not any user"
InBlock.gif        
Exit Sub
InBlock.gif    
End If
InBlock.gif        
InBlock.gif    
Dim i As Integer
InBlock.gif    i 
= 0
InBlock.gif    
While Not rs.EOF
InBlock.gif        i 
= i + 1
InBlock.gif        
' 这里将显示当前后有用户任务列表
InBlock.gif
        Debug.Print "------------" & i & "-------------"
InBlock.gif        Debug.Print rs(
"DisplayName")
InBlock.gif        Debug.Print rs(
"userID")
InBlock.gif        rs.MoveNext
InBlock.gif    Wend
ExpandedBlockEnd.gif
End Sub

注意其中使用的一条select语句。它是用来访问WorkFlowServer数据用的。

再看看我用C#重写了这段代码。

None.gifprivate EPSDK.Connection CreateConnection(String userName, String password)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    EPSDK.Connection conn 
= new EPSDK.ConnectionClass();
InBlock.gif    conn.Open(
"DSN=Adobe WorkFlow Server","xuzhong","");
InBlock.gif    
return conn;
ExpandedBlockEnd.gif}

None.gif
None.gif
None.gif        
private void button1_Click(object sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            EPSDK.Recordset rs 
= new EPSDK.RecordsetClass();
InBlock.gif
InBlock.gif
InBlock.gif            String strSql 
= "select DisplayName, UserID from Users";
InBlock.gif
InBlock.gif            EPSDK.Connection conn 
= this.CreateConnection("xuzhong","");
InBlock.gif
InBlock.gif            rs 
= conn.Execute( strSql );
InBlock.gif
InBlock.gif            
while(!rs.EOF)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                String name 
= String.Format("{0,-30} {1}",
InBlock.gif                    rs.Fields[
"DisplayName"].Value.ToString(),
InBlock.gif                    rs.Fields[
"UserID"].Value.ToString() 
InBlock.gif                    );
InBlock.gif                Print( name );
InBlock.gif                rs.MoveNext();
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }


它实现了与上面用VB写的一样的功能。

转载于:https://www.cnblogs.com/xuzhong/archive/2006/05/06/392689.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值