之前对DbContext对象的管理是实现会话唯一,但是会话不结束DbContext对象会一直被占用,也就导致数据库链接一直得不到释放,浪费资源。最近负责公司项目的后台项目架构,得到高手的指导,使用HttpContext.Current.Items集合存在DbContext对象,实现当一次请求来的时候创建DbContext对象(如果需要访问数据库),请求结束后立即释放(可以在Global.asax中添加Application_EndRequest事件及时释放)。
HttpContext.Current.Items集合:是一个键值对集合,在HttpContext生存期在共享,其生存期很短,就是一次请求,当请求结束就会被销毁。
1.DbContextHelpe