ASP.NET MVC 使用 IOC框架 AutoFac 自动释放数据库资源
2015-10-27 21:04
645 查看
每次使用using或者dispose来释放资源会比较麻烦,作为一个会偷懒的程序员来说当然不能接受了。一、引用 autofac.dll和autofac.integration.mvc.dll二、打开Gobal.cs,在Application_Start 设置需要注入的实体或者接口所在程序集三、编写数据库操作类,我使用的是SqlSugar ORM框架,如果是EF或者 ADO.NET 只需把类中的 SqlSugarClient换成DbContext或者SqlConnection便可
public class SugarDao : IDisposable { public SqlSugarClient db; //禁止实例化 public SugarDao() { string connection = ConfigSugar.GetConfigString("connstring"); //这里可以动态根据cookies或session实现多库切换 this.db = new SqlSugarClient(connection); } void IDisposable.Dispose() { if (db != null) { db.Dispose(); } } }四、编写数据访问层,将 数据库操作类【SugarDao】 作为构造函数的参数五、编写控制器
代码编写完成
当用户发起HTTP请求执行Return View之后 IOC便会销毁所有注入对象,而SugarDao类实现了IDispose接口,所以每次HTTP请求结束都会执行IDisposable.Dispose相关文章推荐
- 细说ASP.NET Forms身份认证
- Jsonp简单认识(后端使用的是asp.net mvc)
- asp.net微信开发第五篇----用户分组管理
- 使用 Cocoaspod 的pod install碰到的问题
- Asp.NET 生成验证码的代码段
- ASP.NET MVC4空MVC项目添加脚本压缩和合并
- [转]推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler
- ASP不能打开注册表关键字错误 '80004005'的解决方法
- asp.net操作Word实现批量替换
- 三种asp.net页面跳转的方法
- ASP.NET AJAX应用
- IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET
- 在ASP.NET Web API中实现CORS(跨域资源共享)
- asp.net简单的注册或者登陆三层架构的例子
- asp.net三层架构详解
- 三种asp.net页面跳转的方法
- asp.net操作Word实现批量替换
- 关于asp.net[没有相关的源行]错误的解决方法及IIS安装问题
- 部署asp.net网站的小问题
- asp.net 中把txt文件导入 vs2010的sql2008数据库的一张表中【已测试,可以实现】