![]() |
1
4
您肯定应该在每个函数中使用一个连接,而且听起来您没有正确地处理它们。假设数据库操作包含在您调用的函数中,那么您的代码应该如下所示:
在服务器端,连接将保持打开状态。默认情况下,SqlConnection类启用连接池,因此您将看到连接在服务器端打开。
|
![]() |
2
3
连接池意味着.Net将为您保留一些打开的连接,以便在您下次需要连接时减少开销。CLR可以为您提供一个已经打开(并已清理)的连接,这比直接重新连接到数据库要快几百倍。调用connection.Close()时,您只是将连接返回到池中进行回收。
您看到的问题是因为您正在达到100个连接—池中的默认最大连接数(默认最小连接数为0)。此时,池将无法提供另一个连接,直到一个连接被回收,因此应用程序将挂起或超时。您需要更改您的连接字符串以包含更高的最大数量(同时还要考虑减少连接)。 |
![]() |
3
0
|
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 4 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 5 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 5 月前 |