Table of Contents

Class QueryActivityPipelineBehavior<TQuery, TResponse>

Namespace
SimpleMediator
Assembly
SimpleMediator.dll

Emits tracing activities for queries and labels functional failures.

public sealed class QueryActivityPipelineBehavior<TQuery, TResponse> : IQueryPipelineBehavior<TQuery, TResponse>, IPipelineBehavior<TQuery, TResponse> where TQuery : IQuery<TResponse>

Type Parameters

TQuery

Query type being observed.

TResponse

Response type returned by the handler.

Inheritance
QueryActivityPipelineBehavior<TQuery, TResponse>
Implements
IQueryPipelineBehavior<TQuery, TResponse>
IPipelineBehavior<TQuery, TResponse>
Inherited Members

Examples

services.AddSingleton<IFunctionalFailureDetector, ApplicationFunctionalFailureDetector>();
services.AddSimpleMediator(cfg => cfg.AddPipelineBehavior(typeof(QueryActivityPipelineBehavior<,>)), assemblies);

Remarks

Similar to CommandActivityPipelineBehavior<TCommand, TResponse> but focused on queries, which helps correlate reads across OpenTelemetry traces.

Constructors

QueryActivityPipelineBehavior(IFunctionalFailureDetector)

Emits tracing activities for queries and labels functional failures.

public QueryActivityPipelineBehavior(IFunctionalFailureDetector failureDetector)

Parameters

failureDetector IFunctionalFailureDetector

Examples

services.AddSingleton<IFunctionalFailureDetector, ApplicationFunctionalFailureDetector>();
services.AddSimpleMediator(cfg => cfg.AddPipelineBehavior(typeof(QueryActivityPipelineBehavior<,>)), assemblies);

Remarks

Similar to CommandActivityPipelineBehavior<TCommand, TResponse> but focused on queries, which helps correlate reads across OpenTelemetry traces.

Methods

Handle(TQuery, IRequestContext, RequestHandlerCallback<TResponse>, CancellationToken)

Executes the behavior logic around the next pipeline element.

public ValueTask<Either<MediatorError, TResponse>> Handle(TQuery request, IRequestContext context, RequestHandlerCallback<TResponse> nextStep, CancellationToken cancellationToken)

Parameters

request TQuery

Request being processed.

context IRequestContext

Ambient context with correlation ID, user info, tenant info, etc.

nextStep RequestHandlerCallback<TResponse>

Callback to the next behavior or handler.

cancellationToken CancellationToken

Token to cancel the flow.

Returns

ValueTask<Either<MediatorError, TResponse>>

Final result or the modified response from the behavior.