Interface IActivityKeyedTaskGroup<TOutput>
- Namespace
- Songhay.Abstractions
- Assembly
- SonghayCore.dll
A lightweight façade in front of many IActivity* implementations.
public interface IActivityKeyedTaskGroup<TOutput> where TOutput : notnull
Type Parameters
TOutputa non-nullable value or reference type
- Extension Methods
Remarks
Consider using the conventional Result types
like ProgramOutputResult<TOutput>
or EndpointContentResult<TContent>
for TOutput.
This abstraction uses the word Keyed
to indicate that the many IActivity* implementations
are identified by magic strings to avoid exposing class definitions
to downstream consumers.
To avoid magic strings, consider implementing IActivityTaskGroup<TOutput> instead.
Methods
InvokeActivityAsync(string?, CancellationToken, params string?[])
Invokes the IActivity* implementation identified by the specified key.
Task<TOutput> InvokeActivityAsync(string? activitySetKey, CancellationToken cancellationToken, params string?[] args)
Parameters
activitySetKeystringidentifies the
IActivity*implementationcancellationTokenCancellationTokenargsstring[]collects the stringified input arguments of the
IActivity*implementation
Returns
- Task<TOutput>