• ADO.Net连接池>附


    l由于每次正常连接数据库都会至少执行3个操作(1.登录数据库服务器2.执行操作3.注销用户),所以每次通过Connection向数据库服务器申请一个连接都比较耗时。【ado.net默认启用了连接池】
    l演示:有池没池的差别(见备注1.)通过事件查看器查看效果。
    l为了解决上述问题:ADO.Net采用了连接池的概念。
    l*如何清空连接池?Connection的静态方法ClearAllPools()、 ClearPool()
    l什么情况下需要禁用连接池?
    •一般都不禁用。尤其是asp.net之类的程序,n多个用户频繁访问,但是大多数用户访问时采用的都是同一个连接字符串
    •但如果某个应用程序有多个客户端,每个客户端访问时采用的都是各自的连接字符串,这时如果采用连接池,虽然每次打开连接的速度会变快,但是由于“池”的问题同时会保存多个打开的连接对象。

    Ado.net连接池使用总结:

    •1.第一次打开连接会创建一个连接对象。
    •2.当这个连接关闭时(调用Close()方法时)会将当前那个连接对象放入池中。
    •3.下一个连接对象,如果连接字符串与池中现有连接对象的连接字符串完全一致,则会使用池中的现有连接,而不会重新创建一个。
    •4.只有对象调用Close(),的时候才会放入池中,如果一个连接对象一直在使用,则下次再创建一个连接对象发现池中没有,也会再创建一个新连接对象。
    •在池中的连接对象,如果过一段时间没有被访问则自动销毁。
     
     

    如果连接池中有对象,con.Open()的意思是去连接池中把对象取出来;

    Close()看是关闭,其实是把Innerconnection放到了连接池中了。

  • 相关阅读:
    SQL应用初级指南
    XML 文档的基本操作
    SQL中单引号的转义
    C# (输入输出流)
    C# 文件与目录的基本操作(System.IO)
    数据库对象命名
    .Net 中的反射(反射特性) Part.3 (转载)
    C# 中的委托和事件(详解)
    SQL Server TransactSQL 编程
    Brush 色谱
  • 原文地址:https://www.cnblogs.com/yaoxc/p/3137418.html
Copyright © 2020-2023  润新知