IDbConnection 正确的链接关闭与打开
来源:互联网 发布:慧讯软件 怎么样 编辑:程序博客网 时间:2024/06/04 20:08
为啥要写IDbConnection的正常关闭与开启的写法,用Ado.net的人都经历过,我想通用一个sqlhelper,然而当链接数据库的连接数过多的时候,会报错。
IDbConnection 的正规链接的写法
public class ShareConnection{ private IDbConnection _sharedConnection; private DbProviderFactory _factory; private bool ShouldCloseConnectionAutomatically{get;set;} public ShareConnection(string providerName) { _factory=DbProviderFactories.GetFactory(providerName); } /// <summary> /// 打开共享链接 /// </summary> public void OpenSharedConnection() { OpenSharedConnectionImplement(false); } private void OpenSharedConnectionImplement(bool isInternal) { //这里注意数据库链接状态的判断 if(_sharedConnection!=null&&_sharedConnection.State!=ConnectionState.Broken&&_sharedConnection.State!=ConnectionState.Closed) return; ShouldCloseConnectionAutomatically=isInternal; _sharedConnection=_factory.CreateConnection(); if(_sharedConnection==null) throw new Exception("Sql connection failed to configure providername"); if(_sharedConnection.State==ConnectionState.Broken) { _sharedConnection.Close(); } if(_sharedConnection.State==ConnectionState.Closed) { _sharedConnection.Open(); } } private void CloseSharedConnectionInternal() { if(ShouldCloseConnectionAutomatically) CloseSharedConnection(); } /// <summary> /// 关闭共享链接 /// </summary> public void CloseSharedConnection() { if(_sharedConnection==null) return; _sharedConnection.Close(); _sharedConnection.Dispose(); _sharedConnection=null; }}
关于事务的锁设置与事务的管理,下一篇再讲
0 0
- IDbConnection 正确的链接关闭与打开
- 文件的打开与关闭
- 键盘的打开与关闭
- 文件的打开与关闭
- 文件的打开与关闭
- WIFI的打开与关闭
- 关于java中关闭数据库链接的正确写法
- 关于java中关闭数据库链接的正确写法
- 关于java中关闭数据库链接的正确写法
- 关于java中关闭数据库链接的正确写法
- 关于java中关闭数据库链接的正确写法
- SecureRandom的漏洞与正确打开方式
- 用链接控制页面小窗口的打开和关闭
- IDbConnection的connection timeout 和 IDbcommand.commandTimeout
- C++流文件的打开与关闭
- 显示器的关闭与打开编程
- C的文件打开关闭与读写
- 1433端口的打开与关闭
- 值得推荐的C/C++框架和库 (真的很强大)
- 网络建设中,这些方法可以讨好你的客户
- A Brief Note about Boltzmann/Softmax Exploration Strategy
- Myeclipse 2016 Mac版破解
- JavaScript学习笔记18-switch语句
- IDbConnection 正确的链接关闭与打开
- Mysql统计同一字段不同值的个数
- 架构漫谈(七):不要空设架构师这个职位,给他实权
- Java的内存机制
- linux basename命令学习
- Rviz可视化交互之Maker(一)
- HTTP深入浅出 http请求
- View的canVerticalScroll函数研究和应用
- JDK6API中文帮助文档无网络访问