后端开发
网络新概念,云计算、大数据、O2O、电商。。。。
网络新概念,云计算、大数据、O2O、电商。。。。
2019-09-27 08:56:11
IIS+asp.net 在.net4.0下运行,运行一段时间就会出现如下提示,重启IIS后正常:
超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
网上说主要原因是因为asp.net调用数据库后连接没有关闭造成的,同时发现在数据库中sp_who2观察有连接不断增加,但负载并不多;
主要修改的地方有:
1、web.config文件(感觉作用不大)<add key="ConnStr" value="server=127.0.0.1;Trusted_Connection=false;uid=sa;pwd=; Max Pool Size=512;Connection Lifetime=300; database=db" />
2、调用数据库后及时关闭连接,这个应该有作用:
myReader.Close();
myDataAdapter.Dispose();
myCommand.Dispose();
myConnection.Close();
myConnection.Dispose();
3、最新的.net补丁,重启服务器;
打了补丁的同时也进行了两个文件的关闭连接,然后就好了sp_who连接数量一直在几十个,具体是补丁问题还是conn问题,不清楚,可能都有吧;