Table of Contents

Class SavvyioOptionsExtensions

Namespace
Savvyio.Commands
Assembly
Savvyio.Commands.dll

Extension methods for the SavvyioOptions class.

public static class SavvyioOptionsExtensions
Inheritance
SavvyioOptionsExtensions

Examples

This example shows how to configure SavvyioOptions for a command-only application service. The options register both the command handler implementation and the default command dispatcher so command commits can resolve without manual type bookkeeping.

using Savvyio;
using Savvyio.Commands;
using Savvyio.Handlers;

namespace ExampleApp;

public sealed class CommandOptionsExtensionsExample
{
    public int Configure()
    {
        var options = new SavvyioOptions().AddCommandHandler<CreateOrderHandler>().AddCommandDispatcher();
        return options.HandlerImplementationTypes.Count + options.DispatcherImplementationTypes.Count;
    }
}

public sealed class CreateOrderHandler : ICommandHandler
{
    public IFireForgetActivator<ICommand> Delegates => HandlerFactory.CreateFireForget<ICommand>(registry => registry.Register<CreateOrderCommand>(_ => { }));
}

public sealed record CreateOrderCommand(string OrderId) : Request, ICommand;

Methods

AddCommandDispatcher(SavvyioOptions)

Adds a default implementation of the ICommandDispatcher interface.

public static SavvyioOptions AddCommandDispatcher(this SavvyioOptions options)

Parameters

options SavvyioOptions

The SavvyioOptions to extend.

Returns

SavvyioOptions

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

AddCommandHandler<TImplementation>(SavvyioOptions)

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

public static SavvyioOptions AddCommandHandler<TImplementation>(this SavvyioOptions options) where TImplementation : class, ICommandHandler

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 ICommandHandler interface.