C# 如何增加.Net应用程序的最大SQL连接池大小

C# 如何增加.Net应用程序的最大SQL连接池大小,c#,sql-server,ado.net,connection-pooling,C#,Sql Server,Ado.net,Connection Pooling,我有一个.NET应用程序,它并行地向大量数据库发送请求,并且似乎池中的连接已经用完,导致超时。我想增加池的大小,但对于如何在全球范围内做到这一点,我感到困惑 我知道我可以在连接字符串中设置最大池大小,如下所示 connectionString="Server=.;database=DBName;Trusted_connection=true;pooling=true;Max Pool Size=200;MultipleActiveResultSets=True" 但这似乎是特定于数据库的 连接

我有一个.NET应用程序,它并行地向大量数据库发送请求,并且似乎池中的连接已经用完,导致超时。我想增加池的大小,但对于如何在全球范围内做到这一点,我感到困惑

我知道我可以在连接字符串中设置最大池大小,如下所示

connectionString="Server=.;database=DBName;Trusted_connection=true;pooling=true;Max Pool Size=200;MultipleActiveResultSets=True"
但这似乎是特定于数据库的

  • 连接字符串中指定的最大池大小是对.Net应用程序可以拥有的连接数的限制,还是对它可以拥有到该特定数据库的连接数的限制
  • 如果在同一个.net应用程序中,某些连接字符串的限制增加,而其他连接字符串的限制较低,会发生什么情况
  • 如何增加应用程序池中允许的连接数

  • 每个不同的连接字符串都会创建一个新的池,您是对每个数据库连接始终使用相同的连接字符串,然后在代码中从主数据库更改,还是使用不同的连接字符串连接到每个数据库?您是否无法打开数据库连接,或者命令超时?您使用了多少个连接?您是否尝试过编写实验性代码来打开多个连接,然后找出限制出现的位置?您需要了解哪些资源正在耗尽,以及它是SQL server限制还是.net限制。每个连接都有不同的连接字符串,因此最大池大小可能不是问题。连接超时和命令超时。不幸的是,这是一个很难复制的过程。我们很确定这个限制在.net中,但它不是一致可复制的。您是如何创建多个进程的?您是在.net中使用多个线程还是使用多个异步命令执行?多个线程使用Task.Run