您的位置:首页 > 其它

EF上下文容器,保存线程唯一性

2016-05-05 00:18 381 查看
在工作中有个疑问,就是EF上下文容器到底创建了多少个?

在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: