Table of Contents

Class SavvyioOptionsExtensions

Namespace
Savvyio.Queries
Assembly
Savvyio.Queries.dll

Extension methods for the SavvyioOptions class.

public static class SavvyioOptionsExtensions
Inheritance
SavvyioOptionsExtensions

Examples

This example shows how to configure SavvyioOptions for a query-driven application service. The options register both the query handler implementation and the default query dispatcher so request-reply operations can resolve through the same configuration object.

using Savvyio;
using Savvyio.Handlers;
using Savvyio.Queries;

namespace ExampleApp;

public sealed class QueryOptionsExtensionsExample
{
    public int Configure()
    {
        var options = new SavvyioOptions().AddQueryHandler<GetOrderTotalHandler>().AddQueryDispatcher();
        return options.HandlerImplementationTypes.Count + options.DispatcherImplementationTypes.Count;
    }
}

public sealed class GetOrderTotalHandler : IQueryHandler
{
    public IRequestReplyActivator<IQuery> Delegates => HandlerFactory.CreateRequestReply<IQuery>(registry => registry.Register<GetOrderTotalQuery, decimal>(_ => 42m));
}

public sealed record GetOrderTotalQuery(string OrderId) : Request, IQuery<decimal>;

Methods

AddQueryDispatcher(SavvyioOptions)

Adds a default implementation of the IQueryDispatcher interface.

public static SavvyioOptions AddQueryDispatcher(this SavvyioOptions options)

Parameters

options SavvyioOptions

The SavvyioOptions to extend.

Returns

SavvyioOptions

A reference to options so that additional configuration calls can be chained.

AddQueryHandler<TImplementation>(SavvyioOptions)

Adds an implementation of the IQueryHandler interface to HandlerImplementationTypes (if not already registered).

public static SavvyioOptions AddQueryHandler<TImplementation>(this SavvyioOptions options) where TImplementation : class, IQueryHandler

Parameters

options SavvyioOptions

The SavvyioOptions to extend.

Returns

SavvyioOptions

A reference to options so that additional configuration calls can be chained.

Type Parameters

TImplementation

The type that implements the IQueryHandler interface.