如果我在ASP.NET网页中打开数据库连接会发生什么
|
假设我有一个ASP.NET页面.在页面加载事件处理程序中,我打开数据库连接并进行一些处理.但是在完成处理之后,我不会通过调用连接对象的CLOSE方法显式关闭连接. 现在,当服务器端的页面处理完成时,GC将处理我页面中的所有变量,以及连接对象.但是当它被丢弃时,先前打开的连接是否会自动关闭?我的意思是,当GC处理连接对象时,它会自动关闭与数据库服务器建立的连接;或者它只是处理连接对象,并且数据库中的连接保持打开状态,直到数据库中发生连接超时,然后数据库服务器自行关闭连接? 解决方法MSDN documentation对此很清楚:
要么使用using块来自动处理,要么显式地处理它.Close()它.使用块是优选的. 通过保持连接打开,当尝试新请求时,您的应用程序最终可能会耗尽连接,从而导致错误.我在调试的应用程序中遇到了这样的问题.原始开发人员未能在几页上明确关闭连接,并且流量足够高,用户开始收到错误.我在一个使用区块中包装了有问题的连接,问题就消失了. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 需要dotnet core 2.1才能在visual studio中
- asp.net – 关键字不支持:’元数据’.使用MVC3的Entityt框
- 单元测试ASP.NET MVC重定向
- wcf – 我可以将system.serviceModel分成一个单独的.config
- ASP.NET连接字符串元数据语法
- IIS ASP.NET WebApi在请求同一台服务器时死锁
- asp.net – 会话存储在客户端或服务器端
- asp.net – 如何调试w3wp clr.dll错误
- asp.net – Mono apache2 =服务暂时不可用(503)
- asp.net-mvc-3 – 哪里和如何定义我的asp.net MVC 3 web应用
- asp.net-mvc-3 – 扩展MVC3剃刀Html.LabelFor添加
- asp.net-mvc – 在布局视图中获取当前的Applicat
- asp.net-mvc – RequireHttps导致Amazon Elastic
- asp.net-mvc – 什么是ASP.Net MVC?
- asp.net-mvc – 企业库日志记录 – 从格式中删除
- 构建ASP.NET应用程序 – 最佳实践
- asp.net-mvc-3 – 在同一父视图上多次使用一个部
- ASP.NET 2.0中的Gridview列宽
- asp.net-mvc – 在ASP.NET MVC中指定只读会话
- 依赖性 – 安装RavenDb Embedded的Nuget依赖性错
