Table of Contents

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

TInput

Operation input type.

TResult

Operation result type.

Inheritance
TemporalOperationHandler<TInput, TResult>
Implements
IOperationHandler<TInput, TResult>
Inherited Members

Remarks

WARNING: Temporal operation handlers are 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

startFunc Func<TemporalOperationStartContext, ITemporalNexusClient, TInput, Task<TemporalOperationResult<TResult>>>

Start function delegate.

Methods

CancelActivityExecutionAsync(TemporalOperationCancelContext, CancelActivityExecutionInput)

Called when a cancel request is received for an activity-execution token. Override to customize cancel behavior.

Default behavior: cancels the underlying standalone activity.

protected virtual Task CancelActivityExecutionAsync(TemporalOperationCancelContext context, CancelActivityExecutionInput input)

Parameters

context TemporalOperationCancelContext

The cancel context.

input CancelActivityExecutionInput

Activity-execution cancel input.

Returns

Task

Task for cancel completion.

CancelAsync(OperationCancelContext)

Request operation cancel.

public Task CancelAsync(OperationCancelContext context)

Parameters

context OperationCancelContext

Context.

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

context TemporalOperationCancelContext

The cancel context.

input CancelWorkflowRunInput

Workflow-run cancel input.

Returns

Task

Task for cancel completion.

CancelWorkflowUpdateAsync(TemporalOperationCancelContext, CancelWorkflowUpdateInput)

Called when a cancel request is received for an update-workflow token. Override to customize cancel behavior.

Default behavior: throws a not-implemented handler error, as there is no default way to cancel an update-workflow operation.

protected virtual Task CancelWorkflowUpdateAsync(TemporalOperationCancelContext context, CancelWorkflowUpdateInput input)

Parameters

context TemporalOperationCancelContext

The cancel context.

input CancelWorkflowUpdateInput

Update-workflow cancel input.

Returns

Task

Task for cancel completion.

StartAsync(OperationStartContext, TInput)

Start operation.

public Task<OperationStartResult<TResult>> StartAsync(OperationStartContext context, TInput input)

Parameters

context OperationStartContext

Context.

input TInput

Input.

Returns

Task<OperationStartResult<TResult>>

Task with sync or async result.

Exceptions

OperationException

Operation failed.

HandlerException

Unexpected handler failure.