Class SavvyioOptionsExtensions
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
optionsSavvyioOptionsThe SavvyioOptions to extend.
Returns
- SavvyioOptions
A reference to
optionsso 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
optionsSavvyioOptionsThe SavvyioOptions to extend.
Returns
- SavvyioOptions
A reference to
optionsso that additional configuration calls can be chained.
Type Parameters
TImplementationThe type that implements the ICommandHandler interface.