EF上下文容器,保存线程唯一性
2016-05-05 00:18
381 查看
在工作中有个疑问,就是EF上下文容器到底创建了多少个?
在asp.net中,EF上下文容器。如果只要有一个,则每次一个用户访问,添加一些实体,然后又不会自动销毁,就会造成内存爆炸。如果每次创建一个,则就出现一个实例调用混乱。在sp.net中,保证一个线程(一次http请求及一个管道事件),一个EF上下文容器就刚刚好,解决上面问题。
一个线程一个上下文容器,
解决方案1:线程缓存
View Code
在asp.net中,EF上下文容器。如果只要有一个,则每次一个用户访问,添加一些实体,然后又不会自动销毁,就会造成内存爆炸。如果每次创建一个,则就出现一个实例调用混乱。在sp.net中,保证一个线程(一次http请求及一个管道事件),一个EF上下文容器就刚刚好,解决上面问题。
一个线程一个上下文容器,
解决方案1:线程缓存
public static class EFFactory { public static object GetCurrentEFContext() { if (HttpContext.Current.Items["EFContxt"]==null) { HttpContext.Current.Items["EFContxt"]= new BaseDbContext(); } return HttpContext.Current.Items["EFContxt"]; } }
View Code
相关文章推荐
- 关于学习笔记
- HDU1150 Machine Schedule
- HDU1150 Machine Schedule
- SDAU dp专题 1011
- 程序员应避免css中的10个错误做法
- 写给三岁的女儿
- POJ3264 RMQ问题 裸 线段树 OR ST算法
- gi本地、远程仓库的创建
- Postgresql 9 高可用性 手册
- SDAU dp专题 1010
- javascript闭包详解及常见陷进
- 第六节 事务XML方式[声明方式]
- sublime text3 如何卸载package control
- Provisioning Services 7.8 入门系列教程之五 使用Provisioning Services控制台
- 畅通工程续 (dijkstra)
- 位图bitmap算法(java)
- Mac下java环境变量配置
- 如果有人问你数据库的原理,叫他看这篇文章(上)
- linux 策略路由
- web前端学习笔记:文本属性