예제 #1
0
        public static IServiceCollection AddEventBusRedis(this IServiceCollection services, RedisSetting setting)

        {
            services.AddSingleton(setting);
            services.AddSingleton <IEventBusDispatcher, RedisEventBusDispatcher>();
            services.AddSingleton <RedisClientService>();
            services.AddSingleton <IHostedService>(serviceProvider => serviceProvider.GetService <RedisClientService>());

            services.AddSingleton(serviceProvider =>
            {
                var mqttClientService         = serviceProvider.GetService <RedisClientService>();
                var mqttClientServiceProvider = new RedisClientServiceProvider(mqttClientService);
                return(mqttClientServiceProvider);
            });
            return(services);
        }
예제 #2
0
 public RedisEventBusDispatcher(RedisClientServiceProvider provider)
 {
     _redisClientService = provider.RedisClientService;
 }