internal static void ConfigureInMemoryCommandBus(Bootstrapper bootstrapper, InMemoryCommandBusConfiguration?configuration, string[] excludedCommandsDLLs, BootstrappingContext ctx) { InMemoryCommandBus.InitHandlersCollection(excludedCommandsDLLs); if (ctx.IsServiceRegistered(BootstrapperServiceType.IoC)) { bootstrapper.AddIoCRegistration(new TypeRegistration(typeof(InMemoryCommandBus), typeof(ICommandBus), typeof(InMemoryCommandBus))); if (configuration != null) { bootstrapper.AddIoCRegistration(new InstanceTypeRegistration(configuration, typeof(InMemoryCommandBusConfiguration))); } } bootstrapper.AddNotifications(PerformCommandChecksAccordingToBootstrapperParameters(ctx, configuration)); }
/// <summary> /// Configure the system to use InMemory Command bus for dipsatching commands, with the provided configuration. /// </summary> /// <param name="bootstrapper">Bootstrapper instance.</param> /// <param name="configurationBuilderAction">Action to apply on builder.</param> /// <param name="excludedCommandsDLLs">DLLs name to exclude from auto-configuration into IoC /// (IAutoRegisterType will be ineffective).</param> /// <returns>Bootstrapper Instance.</returns> public static Bootstrapper UseInMemoryCommandBus(this Bootstrapper bootstrapper, Action <InMemoryCommandBusConfigurationBuilder> configurationBuilderAction, params string[] excludedCommandsDLLs) { if (configurationBuilderAction == null) { throw new ArgumentNullException(nameof(configurationBuilderAction)); } InMemoryCommandBus.InitHandlersCollection(excludedCommandsDLLs); var builder = new InMemoryCommandBusConfigurationBuilder(); configurationBuilderAction(builder); return(UseInMemoryCommandBus(bootstrapper, builder.Build())); }
/// <summary> /// Configure the bootstrapper to use InMemory buses for dispatching commands. /// </summary> /// <param name="bootstrapper">Instance of boostrapper.</param> /// <param name="configuration">Configuration to use for in memory command bus.</param> /// <param name="excludedCommandsDLLs">DLLs name to exclude from auto-configuration into IoC /// (IAutoRegisterType will be ineffective).</param> public static Bootstrapper UseInMemoryCommandBus(this Bootstrapper bootstrapper, InMemoryCommandBusConfiguration configuration = null, params string[] excludedCommandsDLLs) { var service = InMemoryBusesBootstrappService.Instance; service.BootstrappAction += (ctx) => { InMemoryCommandBus.InitHandlersCollection(excludedCommandsDLLs); if (ctx.IsServiceRegistered(BootstrapperServiceType.IoC)) { bootstrapper.AddIoCRegistration(new TypeRegistration(typeof(InMemoryCommandBus), typeof(ICommandBus), typeof(InMemoryCommandBus))); if (configuration != null) { bootstrapper.AddIoCRegistration(new InstanceTypeRegistration(configuration, typeof(InMemoryCommandBusConfiguration))); } } bootstrapper.AddNotifications(PerformCommandChecksAccordingToBootstrapperParameters(ctx, configuration)); }; if (!bootstrapper.RegisteredServices.Any(s => s == service)) { bootstrapper.AddService(service); } return(bootstrapper); }
public InMemoryCommandBusTests() { TestCommandHandler.ResetTestData(); InMemoryCommandBus.InitHandlersCollection(new string[0]); }