gpt4 book ai didi

c# - 我怎样才能真正关闭一个sql连接

转载 作者:太空狗 更新时间:2023-10-30 00:10:34 25 4
gpt4 key购买 nike

这可能是我的误会,但我确实有大问题。请考虑以下代码:

static void Main(string[] args)
{
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
int i = 10;
con.Close();
con.Dispose();
}
int y = 10;
}

int y = 10 行,放置一个断点。

现在,转到您的 SQL Server 并右键单击与上面代码中的 connectionString 相同的连接的 SQl Connection,然后选择“Activity Monitor”。运行上面的代码并检查 SQL Server 事件监视器。当 con.Open() 被执行时,事件监视器显示连接已经建立。到目前为止,一切都很好!但是当光标点击指示 int y = 10; 的行时,事件监视器仍然会向您显示不应该存在的连接!因为我关闭了它,所以我销毁了它,甚至我也通过了 using 语句。

有谁知道如何关闭连接?

最佳答案

这是连接池,正确地完成了它的工作。这在几乎所有情况下都是好事。如果您不想这样做:通过连接字符串禁用连接池。

基本上,您需要将两个概念分开:

  • SqlConnection 托管连接实例
  • 底层非托管连接对象

在正常使用中,关闭或处置托管连接只是将非托管连接放回池中,以备快速使用。如果您希望托管和非托管连接一起消亡,则必须禁用连接池。

关于c# - 我怎样才能真正关闭一个sql连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22152439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com