An error occurred using the connection to database ‘“DataBaseName“‘ on server ‘“192.168.121.xxx“‘.
An error occurred using the connection to database '"DataBaseName"' on server '"192.168.121.xxx"'.
windows服务器
mysql数据库
abp.vnext框架
生产环境的日志中经常看到这么个错误信息,一开始分析,可能是连接数据库或者说连接服务器出现了问题,朝着这个方向没能解决掉。
后来发现是Android调用接口时,设置的时间过短,超过这个时间Android不在请求,然后后台就会报这个异常信息。大家都会想到,Android请求超时一般会报TimeOut,没想到会报连接数据库出错的异常信息,但是测试发现,确实是Android的请求时间过短导致的,解决方案就是延长Android调用接口的时间。
在此记录一下。
------------------------------分割线-------------------------------------
补充,
上面说的是表象,
后来发现了根本原因,
仔细看日志,
会看到上面连接数据库异常的前面还存在另一个异常信息:“The operation was canceled”,
这个才是真正的异常信息。
造成这个异常信息的原因就是分割线上面说的,
Android调用接口超时,连接被强制取消。
这个异常的作用是,
当调用一个花费时间较长的接口时,
客户端主动取消接口调用,接口不在继续执行,
这样符合一个操作习惯,
不然,一个耗时操作,客户端把连接取消了,
后台接口依然在自己执行,
这是不符合正常逻辑的。
更多信息,请参考类CancellationToken 。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)