Beispiel #1
0
        public static IServiceCollection AddOutbox(this IServiceCollection services, Action <IOutboxOptions> config)
        {
            var registry      = new OutboxRegistry();
            var configuration = new OutboxOptions(services, registry);

            config?.Invoke(configuration);

            services.AddTransient <IOutbox>(provider =>
            {
                var repository = provider.GetRequiredService <IOutboxMessageRepository>();
                return(new OutboxMessageCollector(registry, repository));
            });

            return(services);
        }
Beispiel #2
0
 public OutboxOptions(IServiceCollection services, OutboxRegistry registry)
 {
     _services = services;
     _registry = registry;
 }