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

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

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

【问题讨论】:

  • @Usman Khalid-谢谢你

标签: c# asp.net


【解决方案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 中的功能“阅读器关闭时调用读取的尝试无效”?提前致谢
猜你喜欢
  • 2013-06-14
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多