示例#1
0
        public void Configure(IBrolicApplicationConfigurator brolicApplicationConfigurator)
        {
            var trafficHandlerRegistrar = brolicApplicationConfigurator
                                          .ApplicationServices
                                          .GetRequiredService <ITrafficHandlerRegistrar>();

            trafficHandlerRegistrar.RegisterTrafficHandler <NullTrafficHandler>(Key);
        }
示例#2
0
        public void Configure(IBrolicApplicationConfigurator brolicApplicationConfigurator)
        {
            var applicationServices     = brolicApplicationConfigurator.ApplicationServices;
            var trafficHandlerRegistrar = applicationServices
                                          .GetRequiredService <ITrafficHandlerRegistrar>();

            trafficHandlerRegistrar.RegisterTrafficHandler <RabbitMqTrafficHandler>(Key);

            var applicationLifetime = applicationServices
                                      .GetRequiredService <IHostApplicationLifetime>();

            applicationLifetime.ApplicationStopping.Register(() =>
            {
                var keyedRabbitMqConnections = applicationServices
                                               .GetServices <IKeyedRabbitMqConnection>();
                foreach (var keyedRabbitMqConnection in keyedRabbitMqConnections)
                {
                    keyedRabbitMqConnection.Connection.Close();
                }
            });
        }
示例#3
0
 public void Configure(IBrolicApplicationConfigurator brolicApplicationConfigurator)
 {
     brolicApplicationConfigurator.WithPostMiddleware <RateLimitingMiddleware>(PipelineComponents
                                                                               .DownstreamMatching);
 }