# Class AsyncEventHandlerExtensions OptimaJet.Workflow.Core.Utils.AsyncEventHandlerExtensions Namespace: [OptimaJet.Workflow.Core.Utils](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Utils/) ```csharp public static class AsyncEventHandlerExtensions ``` ## Methods `public static Task InvokeSerialAsync(this AsyncEventHandler handler, object sender, TEventArgs args, CancellationToken token)` Invoke async event handler serial way ### Parameters | Name | Type | Description | | --- | --- | --- | | `handler` | `AsyncEventHandler` | | | `sender` | `Object` | | | `args` | `{TEventArgs}` | | | `token` | `CancellationToken` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public static Task InvokeParallelAsync(this AsyncEventHandler handler, object sender, TEventArgs args, CancellationToken token)` Invoke async event handler parallel way ### Parameters | Name | Type | Description | | --- | --- | --- | | `handler` | `AsyncEventHandler` | | | `sender` | `Object` | | | `args` | `{TEventArgs}` | | | `token` | `CancellationToken` | | ### Returns | Type | Description | | --- | --- | | `Task` | | [Previous AsyncEventHandler](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Utils/AsyncEventHandler-TEventArgs/) [Next AsyncReaderWriterLock](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Utils/AsyncReaderWriterLock/)