首页 新闻 会员 周边

这样管理Connection安全吗?

0
悬赏园豆:20 [已关闭问题] 关闭于 2008-09-05 20:21
运行的环境是ASP.NET<br>我用一个静态的Manager类,程序向这个类中的一个静态方法申请Connection,这里先判断HttpContext.Current.Items里的固定Key是否有缓存上了,如果没有就新建一个Connection,打开,缓存。<br>在global.asax中我在Application_EndRequest事件中通过这个Manager类的另一个静态方法关闭掉缓存中的Connection(如果有)。<br>请问这样做是安全的吗?<br>谢谢<br>
问题补充: 对于Gray Zhang的回答,我不是很明白,HttpContext.Current不是随每次Request/Response而存在的吗?那么我缓存在HttpContext.Current里应该是随请求开始而建立,请求结束而断开的,为什么是全局只有一个呢?应该是每次都有一个啊。因为一个Request/Response通常只有一个线程,所以我想到了这种方法,但是不知道可行不可行
JimLiu的主页 JimLiu | 菜鸟二级 | 园豆:300
提问于:2008-08-29 00:03
< >
分享
所有回答(2)
0
你的做法就是全局只有一个Connection对象了,这样做是可行的,但是一个Connection开的时间久了会不稳定,很可能你的系统运行一段时间后会出现提交失败等现象,因此还是建议每一次都新建一个Connection对象,操作完成后关闭,ADO.NET有链接池,不需要担心这方面的效率
Gray Zhang | 园豆:17610 (专家六级) | 2008-08-29 01:10
0
我看到有些代码用singleton来使用单个链接,这么说来也会有问题啦?
lexus | 园豆:0 (初学一级) | 2008-08-29 10:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册