前台页面用ajax,后台用.NET,但是每次前台发送一个请求,ajax传参给不同的页面,就要调用一次数据库链接,能不能只用调用一次数据库链接,关闭数据库的操作我自己在需要的时候管理,不想每个页面都调用一次数据库的链接和关闭。
(暂时不考虑xml和缓存)非常想知道答案!求各位大虾给点意见!非常感谢!

解决方案 »

  1.   

    请放心,微软为我们考虑过了,只要你的链接字符串不改变,只要你的IIS未重启,只要你的请求并发数不高,你所有的请求都会利用之前打开过的数据库连接来操作的,数据库的关闭(包括dispose()操作)默认情况下是不关闭的,它是放入了一个连接缓存池统一管理的,需要的时候拿出来用,除非你在连接字符串中指定不缓存。
      

  2.   

    楼主 你知道数据库中间件么?就是你这么个需求的结果不过你没必要担心数据库,多用SqlReader这样的东西就行了,如果你真想一个IP保持一个连接,那就单件模式弄个SqlConnection
      

  3.   

    区分物理连接
    sqlconnection是基于数据库连接池技术
      

  4.   

    呵呵,我想你没有多用户并发使用过你的软件。如果并发使用ado.net,而用什么static 的数据库连接或者所谓“单件”的形式,你的程序当然频繁出现类似“
    已有打开的与此连接相关联的 DataReader,必须首先将它关闭”这类异常而崩溃,实际经验下你就知道这个所谓的“共享数据库连接”多么想当然了。