Пример #1
0
        static async Task Main(string[] args)
        {
            var saga = new RemitterStateMachine();
            var repo = new InMemorySagaRepository <RemitterStateData>();

            var builder = new HostBuilder()
                          .ConfigureServices((hostContext, services) =>
            {
                services.TryAddSingleton(KebabCaseEndpointNameFormatter.Instance);
                services.AddMassTransit(cfg =>
                {
                    cfg.AddBus(provider => ServiceBus.ConfigureBus(provider, (cfg, host) =>
                    {
                        cfg.ReceiveEndpoint(BusConfiguration.SagaQueue, e =>
                        {
                            e.StateMachineSaga(saga, repo);
                        });
                    }));
                });
                services.AddMassTransitHostedService();
            });

            await builder.RunConsoleAsync();
        }
Пример #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            //services.AddMassTransit(config =>
            //{
            //    config.AddBus(provider => ServiceBus.ConfigureBus(provider));
            //});

            services.AddMassTransit(config =>
            {
                config.AddConsumer <RmReceiveConsumer>();
                config.AddBus(provider => ServiceBus.ConfigureBus(provider, (config, host) =>
                {
                    config.ReceiveEndpoint(BusConfiguration.AmlQueueName,
                                           o => o.ConfigureConsumer <RmReceiveConsumer>(provider));
                }
                                                                  ));
            });


            services.AddMassTransitHostedService();
            services.AddDbContext <SymexDbContext>(db => db.UseSqlServer(Configuration.GetConnectionString("SymexDbConnection")));
            services.AddSingleton <IRemitterDataAccess, RemitterData>();
        }