日期:2014-05-19  浏览次数:20472 次

asp.net连接频繁打开关闭影响效率么?
我在用asp.net做网页的时候,喜欢把每块都做成用户控件,这样一个页面就有许多用户控件
每个用户控件都有  
OleDbConnection   myConn   =   new   OleDbConnection(DataBaseFun.ConnString);
OleDbCommand   myComm   =   new   OleDbCommand(connStr,   myConn);
try{
myConn.open();
OleDbDataReader   myReader   =   myComm.ExecuteReader();
if(myReader.read())
{
  ....
}
myReader.close();
}finally{myConn.close();}
请问我这样语句合理么,还有什么资源要显示的释放么?

还有页面中的很多用户控件都有这样的语句,一个夜面就频繁的打开连接,关闭连接
这样影响效率么?
谢谢大家

------解决方案--------------------
合理,连接池会帮你处理。
一般原则是,一个函数中打开,用完关闭。一个页面多少次都正常,但一个函数中最好别多次打开和关闭。
------解决方案--------------------
有个技巧。

一些数据是可以不必时时更新的,就把数据从DataReader 转换成实体类。然后装进缓存

一定时间内只从缓存里拿数据,这样可以大量的减少数据库的负荷.

不要那么实在的每次都从数据库拿数据,这是提高效率的一个好办法
------解决方案--------------------
要说没影响是不可能的,但是再频繁的打开关闭也比长开好