使用 Asp.net 连接字符串的 connection.close 和 connection.dispose 之间的区别? [复制]

Posted

技术标签:

【中文标题】使用 Asp.net 连接字符串的 connection.close 和 connection.dispose 之间的区别? [复制]【英文标题】:Difference between connection.close and connection.dispose using Asp.net Connection String? [duplicate] 【发布时间】:2014-04-12 06:58:05 【问题描述】:

使用 Asp.net 连接字符串的 connection.close 和 connection.dispose 之间的区别? 例如:

Globals.dr.Dispose(); 
Globals.dr.Close(); 

【问题讨论】:

@Usman Khalid-谢谢你 【参考方案1】:

Dispose() 自动为 SqlConnection 调用 .Close。所以你只能调用 Dispose 或者更好地使用 C# 中的 using 语句。

using (var con = new SqlConnection()...)

  ....

【讨论】:

@NadeemAfana-非常感谢 @NadeemAfana- 我在收到此错误时尝试了 2 个 redaers 中的功能“阅读器关闭时调用读取的尝试无效”?提前致谢【参考方案2】:

使用Dispose() 时,它会自动调用Connection 对象上的Close() 方法

【讨论】:

@AppDeveloper-非常感谢【参考方案3】:

关闭实际上关闭了与数据库的打开连接。但 dispose 将从内存中删除连接对象。 由于 sqlconnection 实现了 Finalize/Dispose 模式,如果您在关闭连接之前处理连接,则自动调用 close 方法。

Sql connection close method

基本上 dispose 是关于内存,而 close 是关于连接 :D

【讨论】:

@Hassan-非常感谢您 @Hassan-i 在我收到此错误时尝试了 2 个 redaers 中的功能“阅读器关闭时调用读取的尝试无效”?提前致谢 看看这个链接:***.com/questions/13455963/…

以上是关于使用 Asp.net 连接字符串的 connection.close 和 connection.dispose 之间的区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 远程连接ORACLE字符串怎么拼?

ASP.NET 和 Neo4jClient - 在哪里存储连接?

如何在 Mac 上将 ASP.Net Core 连接到 SQL Server Docker 容器

asp.net连接mysql,用啥框架,就像Java使用mybatis那种,求大神指教

ASP.NET EFCodeFirst 未使用正确的连接字符串

.NET / LINQ-SQL / ASP.NET 中的连接字符串地狱