23 个解决方案
#1
连接不会自动关闭,如果程序中有一个地方的连接没有关,而这个程序又经常访问
那么一下就会出错了!
你可以自己试试。
那么一下就会出错了!
你可以自己试试。
#2
我们建议使用显示关闭,close或者dispose
不是显式关闭的连接可能不会添加或返回到池中,
如果连接已超出范围但没有显式关闭,则仅当达到最大池大小而该连接仍然有效时,该连接才会返回到连接池中。
#3
你为什么不把它关了呢
应该要整个application结束才会自动关吧
、多浪费资源
应该要整个application结束才会自动关吧
、多浪费资源
#4
不会自动关闭,等到CLR进行垃圾回收时才关闭.
#5
必须Close
#6
将连接放回连接池
#7
dispose就不用了
#8
数据库是大型数据库,连接池会自动进行处理。但仍会占用会话资源。
#9
强烈建议手工关闭,用完就关!
#10
用完不关,太懒了吧
#11
连接多了系统耗不起啊,用完就关咯
#12
支持,手工关闭就是了拉
#13
打开一个数据库连接 Conn.Open() 如果不关闭,网页载入完后不会自动关闭。建议还是Conn.Close()
#14
数据库会自己关的!不过还是手动关闭实在!
#15
为什么不关?叫你关你就关!少罗嗦!
#16
楼主只是问一下如果不是手动关闭它会在何时关闭,而不是说不愿意手动关闭。
大家好像兴师问罪一样。
大家好像兴师问罪一样。
#17
建议还是Conn.Close()
#18
笑死~
人家想什么时候关就什么时候关,人家自己乐意就行~~~大家干嘛这么气愤啊~
人家想什么时候关就什么时候关,人家自己乐意就行~~~大家干嘛这么气愤啊~
#19
小弟有一个问题:什么时候关最好啊?打个比方说用到DataList控件,动态的代码全在后台写,DataList在页面载入时数据的绑定、编辑时数据的更新等等时候都要用到数据库。如果每访问一次数据都打开、关闭一次连接肯定很费时;如果只打开一个连接而不及时关闭,那么页面在postback后肯定会出错,说“……文件已被使用……”等等。请问大家是如何解决这个问题的?我想只要初学ASP.NET大家都会碰到这个问题吧
#20
如果该页面多载入几次那么连接池就会满了……建议还是Close()一下的好……
#21
Conn.Close()是必要的
Conn.Dispose()是不推荐的
Conn.Dispose()是不推荐的
#22
用完就关
#23
调用Close或Dispose方法可以将连接释放回连接池。只有当生存期结束或出现严重错误
时,连接对象才会被从连接池删除,如果你想处理的更好,你可以像下面所展示的代码那样使用Using关键字:
using ( SqlConnection conn = new SqlConnection(CONNECT_STRING) )
{
try
{
conn.Open();
// Use conn in here...
}
catch ( SqlException sqlEX )
{
// Log errors here...
}
} //一旦超出这个括号的范围SqlConnection对象的Dispose方法会被调用
更多关于SqlConnection的编程实例,请参见 Data Access Application Block for .NET.
原文出处:MSDN Magazine Apr. 2004(Web Q&A)
时,连接对象才会被从连接池删除,如果你想处理的更好,你可以像下面所展示的代码那样使用Using关键字:
using ( SqlConnection conn = new SqlConnection(CONNECT_STRING) )
{
try
{
conn.Open();
// Use conn in here...
}
catch ( SqlException sqlEX )
{
// Log errors here...
}
} //一旦超出这个括号的范围SqlConnection对象的Dispose方法会被调用
更多关于SqlConnection的编程实例,请参见 Data Access Application Block for .NET.
原文出处:MSDN Magazine Apr. 2004(Web Q&A)
#1
连接不会自动关闭,如果程序中有一个地方的连接没有关,而这个程序又经常访问
那么一下就会出错了!
你可以自己试试。
那么一下就会出错了!
你可以自己试试。
#2
我们建议使用显示关闭,close或者dispose
不是显式关闭的连接可能不会添加或返回到池中,
如果连接已超出范围但没有显式关闭,则仅当达到最大池大小而该连接仍然有效时,该连接才会返回到连接池中。
#3
你为什么不把它关了呢
应该要整个application结束才会自动关吧
、多浪费资源
应该要整个application结束才会自动关吧
、多浪费资源
#4
不会自动关闭,等到CLR进行垃圾回收时才关闭.
#5
必须Close
#6
将连接放回连接池
#7
dispose就不用了
#8
数据库是大型数据库,连接池会自动进行处理。但仍会占用会话资源。
#9
强烈建议手工关闭,用完就关!
#10
用完不关,太懒了吧
#11
连接多了系统耗不起啊,用完就关咯
#12
支持,手工关闭就是了拉
#13
打开一个数据库连接 Conn.Open() 如果不关闭,网页载入完后不会自动关闭。建议还是Conn.Close()
#14
数据库会自己关的!不过还是手动关闭实在!
#15
为什么不关?叫你关你就关!少罗嗦!
#16
楼主只是问一下如果不是手动关闭它会在何时关闭,而不是说不愿意手动关闭。
大家好像兴师问罪一样。
大家好像兴师问罪一样。
#17
建议还是Conn.Close()
#18
笑死~
人家想什么时候关就什么时候关,人家自己乐意就行~~~大家干嘛这么气愤啊~
人家想什么时候关就什么时候关,人家自己乐意就行~~~大家干嘛这么气愤啊~
#19
小弟有一个问题:什么时候关最好啊?打个比方说用到DataList控件,动态的代码全在后台写,DataList在页面载入时数据的绑定、编辑时数据的更新等等时候都要用到数据库。如果每访问一次数据都打开、关闭一次连接肯定很费时;如果只打开一个连接而不及时关闭,那么页面在postback后肯定会出错,说“……文件已被使用……”等等。请问大家是如何解决这个问题的?我想只要初学ASP.NET大家都会碰到这个问题吧
#20
如果该页面多载入几次那么连接池就会满了……建议还是Close()一下的好……
#21
Conn.Close()是必要的
Conn.Dispose()是不推荐的
Conn.Dispose()是不推荐的
#22
用完就关
#23
调用Close或Dispose方法可以将连接释放回连接池。只有当生存期结束或出现严重错误
时,连接对象才会被从连接池删除,如果你想处理的更好,你可以像下面所展示的代码那样使用Using关键字:
using ( SqlConnection conn = new SqlConnection(CONNECT_STRING) )
{
try
{
conn.Open();
// Use conn in here...
}
catch ( SqlException sqlEX )
{
// Log errors here...
}
} //一旦超出这个括号的范围SqlConnection对象的Dispose方法会被调用
更多关于SqlConnection的编程实例,请参见 Data Access Application Block for .NET.
原文出处:MSDN Magazine Apr. 2004(Web Q&A)
时,连接对象才会被从连接池删除,如果你想处理的更好,你可以像下面所展示的代码那样使用Using关键字:
using ( SqlConnection conn = new SqlConnection(CONNECT_STRING) )
{
try
{
conn.Open();
// Use conn in here...
}
catch ( SqlException sqlEX )
{
// Log errors here...
}
} //一旦超出这个括号的范围SqlConnection对象的Dispose方法会被调用
更多关于SqlConnection的编程实例,请参见 Data Access Application Block for .NET.
原文出处:MSDN Magazine Apr. 2004(Web Q&A)