连接池在Visual Studio 2010 DevServer下工作,但在IIS中不工作

时间:2013-12-05 00:21:10

标签: visual-studio-2010 iis connection-string vs-devserver

我有一个使用Entity Framework连接到SQL Server数据库的Visual Studio 2010 Web项目。当我通过VS2010运行32位应用程序时,它使用Visual Studio开发服务器。在运行应用程序之后,我不时在SQL Server上使用“exec sp_who2”来查看服务器有多少数据库连接,并且它永远不会超过6。这是预期的行为,因为正在使用连接池,所以连接重用。

我从IIS 7.5运行完全相同的32位版本,并在短时间内达到100连接池限制并停止工作。代码是相同的,数据库是相同的,因此唯一的区别是在IIS 7.5而不是开发服务器下运行。我在连接字符串中启用了连接池。实际上,两种情况下的连接字符串都是相同的。

为什么连接池无法在IIS上运行?是的,我在连接字符串中有pooling = true。是的,当不再需要时,我会正确关闭所有连接。

更新:将最大池大小设置为200似乎允许IIS方案继续工作,因为它似乎不超过150.但为什么开发服务器只需要大约6并且IIS版本需要在池中大约150个。它们使用相同的连接字符串以相同的方式使用相同的数据库。

0 个答案:

没有答案