如果我在ASP.NET网页中打开数据库连接会发生什么

前端之家收集整理的这篇文章主要介绍了如果我在ASP.NET网页中打开数据库连接会发生什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个ASP.NET页面.在页面加载事件处理程序中,我打开数据库连接并进行一些处理.但是在完成处理之后,我不会通过调用连接对象的CLOSE方法显式关闭连接.

现在,当服务器端的页面处理完成时,GC将处理我页面中的所有变量,以及连接对象.但是当它被丢弃时,先前打开的连接是否会自动关闭?我的意思是,当GC处理连接对象时,它会自动关闭数据库服务器建立的连接;或者它只是处理连接对象,并且数据库中的连接保持打开状态,直到数据库中发生连接超时,然后数据库服务器自行关闭连接?

解决方法

MSDN documentation对此很清楚:

If the sqlConnection goes out of
scope,it won’t be closed. Therefore,
you must explicitly close the
connection by calling Close or
Dispose. Close and Dispose are
functionally equivalent.

要么使用using块来自动处理,要么显式地处理它.Close()它.使用块是优选的.

通过保持连接打开,当尝试新请求时,您的应用程序最终可能会耗尽连接,从而导致错误.我在调试的应用程序中遇到了这样的问题.原始开发人员未能在几页上明确关闭连接,并且流量足够高,用户开始收到错误.我在一个使用区块中包装了有问题的连接,问题就消失了.

原文链接:https://www.f2er.com/aspnet/247512.html

猜你在找的asp.Net相关文章