Class NexusClient<TService>
- Namespace
- Temporalio.Workflows
- Assembly
- Temporalio.dll
Client for making Nexus service calls from a workflow.
public abstract class NexusClient<TService> : NexusClient
Type Parameters
TService
- Inheritance
-
NexusClient<TService>
- Inherited Members
Remarks
WARNING: Nexus support is experimental.
Properties
Service
Gets the service name.
public override string Service { get; }
Property Value
ServiceDefinition
Gets the service definition.
public abstract ServiceDefinition ServiceDefinition { get; }
Property Value
- ServiceDefinition
Methods
ExecuteNexusOperationAsync(Expression<Action<TService>>, NexusOperationOptions?)
Shortcut for StartNexusOperationAsync(Expression<Action<TService>>, NexusOperationOptions?) + GetResultAsync().
public Task ExecuteNexusOperationAsync(Expression<Action<TService>> operationStartCall, NexusOperationOptions? options = null)
Parameters
operationStartCall
Expression<Action<TService>>Invocation of operation without a result.
options
NexusOperationOptionsOperation options.
Returns
- Task
Task with the result of the Nexus operation.
ExecuteNexusOperationAsync<TResult>(Expression<Func<TService, TResult>>, NexusOperationOptions?)
Shortcut for StartNexusOperationAsync<TResult>(Expression<Func<TService, TResult>>, NexusOperationOptions?) + GetResultAsync().
public Task<TResult> ExecuteNexusOperationAsync<TResult>(Expression<Func<TService, TResult>> operationStartCall, NexusOperationOptions? options = null)
Parameters
operationStartCall
Expression<Func<TService, TResult>>Invocation of operation with a result.
options
NexusOperationOptionsOperation options.
Returns
- Task<TResult>
Task with the result of the Nexus operation.
Type Parameters
TResult
Operation result type.
StartNexusOperationAsync(Expression<Action<TService>>, NexusOperationOptions?)
Start a Nexus operation via a lambda invoking the operation on the service.
public Task<NexusOperationHandle> StartNexusOperationAsync(Expression<Action<TService>> operationStartCall, NexusOperationOptions? options = null)
Parameters
operationStartCall
Expression<Action<TService>>Invocation of operation without a result.
options
NexusOperationOptionsOperation options.
Returns
- Task<NexusOperationHandle>
Handle to the started operation once started.
StartNexusOperationAsync<TResult>(Expression<Func<TService, TResult>>, NexusOperationOptions?)
Start a Nexus operation via a lambda invoking the operation on the service.
public Task<NexusOperationHandle<TResult>> StartNexusOperationAsync<TResult>(Expression<Func<TService, TResult>> operationStartCall, NexusOperationOptions? options = null)
Parameters
operationStartCall
Expression<Func<TService, TResult>>Invocation of operation with a result.
options
NexusOperationOptionsOperation options.
Returns
- Task<NexusOperationHandle<TResult>>
Handle to the started operation once started.
Type Parameters
TResult
Operation result type.