/// <summary> /// add core service /// </summary> /// <param name="options"></param> private void AddProviderService(RabbitmqKitOptions options) { RabbitmqProvider provider = new RabbitmqProvider(options); //serviceCollection.TryAddSingleton<IRabbitmqKitOptions>(options); serviceCollection.TryAddSingleton <IRabbitmqProvider>(provider); }
/// <summary> /// use rabbitma /// </summary> /// <param name="options">rabbitmq options</param> /// <param name="lifetime">sevice left time</param> /// <returns></returns> public IRabbitmqKitOptionsBuilder UseRabbitMQ(RabbitmqKitOptions options, ServiceLifetime lifetime = ServiceLifetime.Scoped) { Check.Argument.IsNotNull(options, nameof(options), "The rabbitmq options is null"); AddProviderService(options); serviceCollection.TryAdd(new ServiceDescriptor(typeof(IRabbitmqQueue), typeof(RabbitmqQueue), lifetime)); serviceCollection.TryAdd(new ServiceDescriptor(typeof(IRabbitmqExchange), typeof(RabbitmqExchange), lifetime)); serviceCollection.TryAdd(new ServiceDescriptor(typeof(IRabbitmqSend), typeof(RabbitmqSend), lifetime)); serviceCollection.TryAdd(new ServiceDescriptor(typeof(IRabbitmqReceive), typeof(RabbitmqReceive), lifetime)); return(this); }