/// <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);
        }