连接有时候会自动关闭什么原因? 返回

SqlSugar
4 212
该叫什么 PA 发布于1个月前
悬赏:0 飞吻

刷新几次就会报这个错误

System.InvalidOperationException: Invalid operation. The connection is closed.

有时候可以,有时候就不行。

控制器:

        /// <summary>
        /// 获取用户池数据
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<ResponseData> GetList()
        {
            ResponseData responseData = new ResponseData();
            ListData<UserPool> listData = new ListData<UserPool>();
            listData.List = await _userPoolServices.QueryListAsync();
            responseData.Data = listData;
            return responseData;

       }
        /// <summary>
        /// userPoolServices中的查询列表
        /// </summary>
        /// <param name="orderBy"></param>
        /// <returns></returns>
        public virtual async Task<IEnumerable<T>> QueryListAsync(string orderBy = "id desc")
        {
            return await DbContext.DbClient().Queryable<T>().OrderBy(orderBy).ToListAsync();
        }

这个代码我感觉没有什么问题,但有时候总是会出现连接关闭的错误。

热忱回答4

  • fate sta fate sta VIP0
    1个月前

    https://www.donet5.com/Home/Doc?typeId=1181  偶发性错误大概率是线程安全引起的


    你可以用 SqlSugarScope替换SqlSugarClient 如果不报错了,说明你的代码有线程安全问题

    0 回复
  • PA PA VIP0
    1个月前
                SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
                {
                    //主库连接字符串
                    ConnectionString = globalConfig.DbConnection.ConnectionString,
                    //数据库类型
                    DbType = (DbType)Enum.Parse(typeof(DbType), globalConfig.DbConnection.DbType),
                    //自动释放和关闭数据库连接,如果有事务事务结束时关闭,否则每次操作后关闭
                    IsAutoCloseConnection = true,
     
                });
                services.AddTransient<ISqlSugarClient>(provider => { return db; });

    作用域改为Transient也报错,奇怪了。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    让你按我的改,sqlsugarscope 

    0 回复
  • PA PA VIP0
    1个月前

    重新发帖讨论:https://www.donet5.com/Ask/9/14214

    0 回复