日期:2014-05-19  浏览次数:20512 次

關於每個頁面都產生Connection的問題。
關於http://community.csdn.net/Expert/topic/5138/5138506.xml?temp=.7576105這個帖子說到的問題,我現在是每個頁面都是單獨寫代碼生成一個新的Connection實例(連接字符串其實都一樣),恐怕會造成服務器性能的低下,但如果是共享同一個Connection靜態對象,又擔心出現並發問題。請問是不是採用靜態方法來各自頁面產生新的實例較好嗎?請問具體應該怎麼做?

------解决方案--------------------
用连接池
------解决方案--------------------
总之一句话:连接用完后马上关闭。

------解决方案--------------------
可以使用一个 通用的静态方法来获取 链接
但是 对于不同页面(不同对象的调用)都是应该重新赋值的

static的conn是绝对 要禁止的

这样做是必须的 而不是说什么性能问题..
------解决方案--------------------
而且对于 2003系统 拥有链接池
对于 大访问量 可以 恰当加大池大小
这里对于 conn开启 关闭的损耗 完全可以忽略
------解决方案--------------------
靜態對象會引起多用戶問題,連接池會管理連接.對於創造連接對象的開銷,可以忽略.
------解决方案--------------------
除非连续访问,不然打开用完后就关闭
------解决方案--------------------
并发的问题,webcast上面有讲,shaozhidong
------解决方案--------------------
可以在web配置文件中进行设置,每次读取就可以了,具体做法可以参考msdn
------解决方案--------------------
写通用的连接方法一般是不会出现并发问题的(至少我到现在还没出现过)
------解决方案--------------------
对于使用ADO.NET连数据库的用户来说.
如果connection使用的是同一个connString字符串的话,
不用担心有很多连接影响服务器性能.
只要每次用完Close即可.
因为如果是同一个connString字符串每次Close并没有真正的销毁connection对像而是放在
连接池中.下一次Open的时候,调用的是连接池是的connection对像
ADO.NET有连接池的功能,不用编程人员创建连接池.所以请放心.