[This is preliminary documentation and is subject to change.]
- handler (ExecutionResultHandler)
- A delegate which is called with the ExecutionResult produced when the operation completes.
- target (Persistent)
- The target object to be passed to the Operation's Execute method..
- targetCollection (IPersistateList)
- The target collection to be passed to the Operation's Execute method.
- parameters (array<Object>())
- Other parameters to be passed to the Operation's Execute method.
If the execution context is Server or Standalone, then the operation is executed on the current thread, and will block until the operation completes, at which point the handler delegate is called with the result.
If the execution context is Viewer, then the call is sent to the Server to be executed there. This is performed on a thread pool thread and this method returns without blocking. The handler delegate is called asynchronously with the result of the operation once it completes.
Persistate allows you to execute more than one operation concurrently in a single Session. These can be nested executions in the same thread or asynchronous executions in different threads. However, be aware that Persistate consolidates all modifications for concurrent executions, so committing or rolling back one operation execution will also include all modifications made so far in all concurrent executions.