Table of Contents

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

TOutput

a 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

activitySetKey string

identifies the IActivity* implementation

cancellationToken CancellationToken

the CancellationToken

args string[]

collects the stringified input arguments of the IActivity* implementation

Returns

Task<TOutput>