SQL Azure中的连接池

时间:2012-05-11 12:40:44

标签: web-config connection-pooling azure-sql-database

我正在开发一个ASP.NET MVC应用程序。此应用程序依赖于存储在SQL Azure数据库中的数据。当我登录到SQL Azure管理界面时,我注意到我有17个活动连接到我的数据库。我依稀记得很久以前的数据库连接池的概念。出于某种原因,我想使用连接池,您需要在web.config文件中为连接字符串添加设置。但是对于我的生活,我不记得或找到有关设置的文档。

为了便于参考,我在我的连接字符串设置中使用System.Data.SqlClient作为提供。有人可以告诉我如何在SQL Azure中使用连接池吗?考虑到我是唯一一个点击数据库,17个活动连接似乎很高。我想如果打开连接池,则只会出现1个活动连接。

谢谢。

2 个答案:

答案 0 :(得分:3)

连接池是客户端无法为Sql Azure配置的默认行为。默认情况下,您的应用应该可以获得连接池的好处。确保您的连接字符串是唯一的,因为将为具有不同字符串的连接创建新池。 This article in MSDN指定:

  

当打开新连接时,如果连接字符串不是   与现有池完全匹配,创建一个新池。连接   每个进程,每个应用程序域,每个连接字符串池化   当使用集成安全性时,每个Windows身份。连接   字符串也必须完全匹配;提供不同的关键字   相同连接的订单将单独汇总。

现在关于您不记得的设置。您可能一直在谈论MARS (Multiple Active Result Sets).此功能在Sql Azure上为now available

答案 1 :(得分:-1)

我建议你阅读以下文章,该文章解释了如何正确设计与SQL Azure的连接,它还有一个C#基本示例代码,向您展示如何:

http://blogs.msdn.com/b/sqlazure/archive/2010/05/11/10011247.aspx