SqlConnection.ClearAllPools,清除了什么?

Ste*_*ger 9 .net sql-server ado.net connection-pooling

我有一个应用程序,用于SqlConnection.ClearAllPools在删除数据库之前关闭所有连接.

有一种情况仍然存在连接.此连接已在另一个应用程序域中创建.

所以我想知道哪些连接关闭了SqlConnection.ClearAllPools

  • 只有调用进程(或AppDomain)打开的连接?
  • 这台机器打开了所有连接?
  • ...?

Dar*_*rov 9

它仅关闭调用进程打开的所有连接.它会清空绑定到进程的所有连接池.Quote:

连接池和连接字符串齐头并进.每个连接池都与一个不同的连接字符串相关联,它也是特定于应用程序的.反过来,它意味着 - 为每个不同的进程,应用程序域和连接字符串维护一个单独的连接池.