高分求救,关于连接超时的解决方法。
ASP.NET的网站,基本上要连接数据库的地方都是用代码无没有使用数据控件,例如:
- VB.NET code
Dim connectionString As String = ConfigurationManager.ConnectionStrings("HMZXConnectionString").ConnectionString Dim cnHMZX As New SqlConnection(connectionString) Dim command As New SqlCommand("News_Top10", cnHMZX) command.CommandType = CommandType.StoredProcedure Dim oDR As SqlDataReader cnHMZX.Open() oDR = command.ExecuteReader() dtlNews.DataSource = oDR dtlNews.DataBind() oDR.Close() cnHMZX.Close() cnHMZX.Dispose()但这个网站运行一段时间就会出现“连接超时”的错误。
目前,我只能在服务器的“默认连接池”中设置了“按时间来回收”,这样才勉强解决问题,但这并不是好的解决办法。
不是说ASP.NET可以自动回收资源吗?我在代码中,每次打开连接后都是用完即关的了,还能怎么办?
[解决办法]
看看sql是不是还可以优化一下
[解决办法]
去数据库里看这个存储过程, 单独在数据库中运行要多久, 然后再考虑解决方案
[解决办法]
设置超时时间
使用缓存
[解决办法]
[解决办法]
[解决办法]
连接对象在Open后的操作都放在try块中,后面跟一个finally块:conn.Close();
SqlDataReadera用了要关掉