下面详细和准确的介绍有关ADO.NET连接池的使用与维护问题,这些都是学习总结的相关经验,当ADO.NET连接池当出现故障转移等错误时,会自动清除池。下面就进行详细说明。
成都创新互联公司拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都网站建设、成都网站设计、网站维护、中国电信成都枢纽中心解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城开发、政府网站等各类型客户群体,为全球上千家企业提供全方位网站维护、服务器维护解决方案。
这意味着在执行应用程序期间,许多相同的连接将反复地打开和关闭。 为了使打开的连接成本最低,ADO.NET 使用称为连接池的优化方法。
连接池减少新连接需要打开的次数。 池进程保持物理连接的所有权。 通过为每个给定的连接配置保留一组活动连接来管理连接。 ADO.NET连接池只要用户在连接上调用 Open,池进程就会检查池中是否有可用的连接。 如果某个池连接可用,会将该连接返回给调用者,而不是打开新连接。 应用程序对该连接调用 Close 时,池进程会将连接返回到活动连接池集中,而不是真正关闭连接。 连接返回到池中之后,ADO.NET连接池即可在下一个 Open 调用中重复使用。#t#
在初次打开连接时,将根据完全匹配算法创建连接池,该算法将池与连接中的连接字符串关联。 每个连接池都与一个不同的连接字符串相关联。 打开新连接时,如果连接字符串并非与现有池完全匹配,将创建一个新池。 按进程、按应用程序域、按连接字符串以及(在使用集成的安全性时)按 Windows 标识来建立池连接。 连接字符串还必须是完全匹配的;按不同顺序为同一连接提供的关键字将分到单独的池中。
在以下 C# 示例中创建了三个新的ADO.NET连接池对象,但是管理时只需要两个连接池。 注意,根据为 Initial Catalog 分配的值,第一个和第二个连接字符串有所不同。
1: using (SqlConnection connection = new SqlConnection(
2: "Integrated Security=SSPI;Initial Catalog=Northwind"))
3: {
4: connection.Open();
5: // Pool A is created.
6: }
7:
8: using (SqlConnection connection = new SqlConnection(
9: "Integrated Security=SSPI;Initial Catalog=pubs"))
10: {
11: connection.Open();
12: // Pool B is created because the connection strings differ.
13: }
14:
15: using (SqlConnection connection = new SqlConnection(
16: "Integrated Security=SSPI;Initial Catalog=Northwind"))
17: {
18: connection.Open();
19: // The connection string matches pool A.
20: }
如果 MinPoolSize 在连接字符串中未指定或指定为零,池中的连接将在一段时间不活动后关闭。 但是,如果指定的 MinPoolSize 大于零,在 AppDomain 被卸载并且进程结束之前,连接池不会被破坏。 ADO.NET连接池非活动或空池的维护只需要最少的系统开销。
注意:
名称栏目:摸索ADO.NET连接池使用说明
当前地址:http://www.shufengxianlan.com/qtweb/news1/525301.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联