/// <summary>
        /// 交易处理
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken">事务标识</param>
        /// <param name="next"></param>
        /// <returns></returns>
        public async Task <TResponse> Handle(TRequest request, CancellationToken cancellationToken,
                                             RequestHandlerDelegate <TResponse> next)
        {
            //类名
            var       typeName = request.GetGenericTypeName();
            TResponse response = default(TResponse);

            try
            {
                //如果开启事务
                if (_dbContext.HasActiveTransaction)
                {
                    return(await next());
                }

                var strategy = _dbContext.Database.CreateExecutionStrategy();

                await strategy.ExecuteAsync(async() =>
                {
                    using (var transaction = await _dbContext.BeginTransactionAsync(cancellationToken))
                    {
                        response = await next();

                        await _dbContext.CommitTransactionAsync(transaction);
                    }
                });

                return(response);
            }
            catch (Exception ex)
            {
                ServiceProvider.GetLogService()
                .Error(
                    $"信息导入错误,原因为:{ex},类名:{typeName},信息为:{ServiceProvider.GetJsonProvider().Serializer(request)}");
                throw ex;
            }
        }