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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值