c# - DbConnection 超出范围时是否关闭并处置?

标签 c# .net ado.net garbage-collection dispose

<分区>

Possible Duplicate:
Close and Dispose - which to call?

我的数据层中的许多函数不受 try-catchusing 子句的保护。

我的 GUI 层有 try-catch 子句。这够了吗?

如果引发异常,我是否可以依赖 dbConnection 和其他被处置和关闭的对象? GUI 层将处理异常。

最佳答案

Will this be enough?

没有。除非通过 using,否则不会自动处理任何内容。超出范围的对象不会被收集 - 垃圾收集稍后发生,间歇性且不确定。

如果您正在创建连接,请使用 using 除非那是不可能的(例如异步回调)。否则,您很容易就会留下大量打开的连接对象,使服务器饱和。

关于c# - DbConnection 超出范围时是否关闭并处置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12033872/

相关文章:

c# - Windows Phone 7/8中的tomcat或iis localhost端口地址是什么

c# - 如何从数据库刷新 ObjectContext 缓存?

ado.net - 轻量级 ADO.NET 帮助程序类

c# - 如何在ado net中使用UPDATE

C# 将时间分成小时 block

c# - 获取 linq 列表中对象的百分比并将其映射到 JSON 的最佳方法是什么?

c# - SharePoint 列表项权限

c# - 在 .NET framework 上运行 .NET core App

.net - 向 Multi-Tenancy Azure AD 应用程序环境中的支持员工授予访问权限

c# - 将 datetimepicker 值传递给 C# 中的 WHERE LIKE 子句