Skip to main content


While getting user worklist faced performace problem - 2-3sec to get user's worklist (or almost any other request to get task info).


Code I use is like this 



  1.  Connection = New Connection
  2. Connection.Open(K2ServerName)
  3. Connection.ImpersonateUser(UserLogin)
  4. worklist = ImpersonatedConnection.OpenWorklist
  5.     Dim res = New List(Of dtoK2Task)
  6.         If  Worklist.Count > 0 Then
  7.             Try
  8.                 Dim wli As SourceCode.Workflow.Client.WorklistItem
  9.                 For Each wli In UserWorklist
  10.                     res.Add(New dtoK2Task(wli))
  11.                 Next
  12.         End If
  13.         Return res

Longest operation (99% of all time) is opening WorkList of Connection.


Am i doing something wrong?


Any other ways to get task/worklist info?


Any ideas? :)


How many workitems are returned?


Reply