不,每个请求都不会生成新的应用程序域。该网站/应用程序的所有请求都在同一个应用程序域中,因此共享连接池。一旦 asmx 请求完成了连接,它会将其返回到池中,并且行中的下一个请求会抓取它(假设池中没有其他可用的连接)。
澄清一点。您可以有两个不同的 Web 应用程序,它们指向相同的代码,并且位于不同的应用程序域中。这两个应用程序不共享任何东西(考虑两次启动同一个应用程序)。
我也很好奇在这种情况下设置 Min Pool Size(设置为 0 以外的小数字)是否有益。
因此,根据应用程序,它可能是有益的。创建连接需要时间,所以准备好一些可以让你放弃。如果您有请求说使用一个连接,那么让一个人等待可能很好(这完全取决于您希望应用程序响应的速度)。当你需要为一个请求说 3 或 4 个不同的(你明白了)打开时,这真的可以发挥作用。那么为什么需要多个连接呢?一个用于访问数据和一个单独的线程用于记录到数据库(记录到数据库与文件是完全不同的对话)呢?现在你需要两个。有多种情况可以发挥作用。根据您的数据库服务器保持开放连接可能会非常便宜,因此将其设置为一个较小的数字可能会为您带来巨大的收益。
这是针对 Max Pool Size
不,它没有好处,因为对该服务的所有请求都使用相同的池(假设连接使用相同的连接字符串,并且没有访问不同的服务器。那些有单独的连接池)。没有可用的连接是破坏服务性能的一种非常快速且可靠的方法。