Class TemporalOperationHandler<TInput, TResult>
- Namespace
- Temporalio.Nexus
- Assembly
- Temporalio.dll
Generic Nexus operation handler backed by Temporal. Implements NexusRpc.Handlers.IOperationHandler<TInput, TResult> and provides a composable way to map Temporal operations to Nexus operations.
public class TemporalOperationHandler<TInput, TResult> : IOperationHandler<TInput, TResult>
Type Parameters
TInputOperation input type.
TResultOperation result type.
- Inheritance
-
TemporalOperationHandler<TInput, TResult>
- Implements
-
IOperationHandler<TInput, TResult>
- Inherited Members
Remarks
WARNING: Nexus support is experimental.
This class supports inheritance to customize cancel behavior. Override CancelWorkflowRunAsync(TemporalOperationCancelContext, CancelWorkflowRunInput) to change how workflow-run cancellations are handled.
Constructors
TemporalOperationHandler(Func<TemporalOperationStartContext, ITemporalNexusClient, TInput, Task<TemporalOperationResult<TResult>>>)
Initializes a new instance of the TemporalOperationHandler<TInput, TResult> class.
public TemporalOperationHandler(Func<TemporalOperationStartContext, ITemporalNexusClient, TInput, Task<TemporalOperationResult<TResult>>> startFunc)
Parameters
startFuncFunc<TemporalOperationStartContext, ITemporalNexusClient, TInput, Task<TemporalOperationResult<TResult>>>Start function delegate.
Methods
CancelAsync(OperationCancelContext)
Request operation cancel.
public Task CancelAsync(OperationCancelContext context)
Parameters
contextOperationCancelContextContext.
Returns
- Task
Task when cancel has been sent.
Exceptions
- HandlerException
Unexpected handler failure.
CancelWorkflowRunAsync(TemporalOperationCancelContext, CancelWorkflowRunInput)
Called when a cancel request is received for a workflow-run token. Override to customize cancel behavior.
Default behavior: cancels the underlying workflow.
protected virtual Task CancelWorkflowRunAsync(TemporalOperationCancelContext context, CancelWorkflowRunInput input)
Parameters
contextTemporalOperationCancelContextThe cancel context.
inputCancelWorkflowRunInputWorkflow-run cancel input.
Returns
- Task
Task for cancel completion.
StartAsync(OperationStartContext, TInput)
Start operation.
public Task<OperationStartResult<TResult>> StartAsync(OperationStartContext context, TInput input)
Parameters
contextOperationStartContextContext.
inputTInputInput.
Returns
- Task<OperationStartResult<TResult>>
Task with sync or async result.
Exceptions
- OperationException
Operation failed.
- HandlerException
Unexpected handler failure.