首页 新闻 赞助 找找看

ef怎么定制一个 线程级别的context

0
[已解决问题] 解决于 2014-07-01 17:47
目前我context是这样取的

public static GLRISCRMContext Instant
        {
            get
            {
                GLRISCRMContext _Instant = null;

                        lock (lockobj)
                        {
                            if (HttpContext.Current.Items["_EntityContext"] == null)
                            {
                                HttpContext.Current.Items["_EntityContext"] = new GLRISCRMContext();
                            }
                        }
                    
                    _Instant = HttpContext.Current.Items["_EntityContext"] as GLRISCRMContext;

                return _Instant;
            }
        }

这样有一个问题 是一个请求一个

那么当我如果是winform程序的时候 我需要在当前的主线程里面弄一个 调用这个肯定是会出错的

希望那个大侠能够提供一下在当前线程中 绑定一个 context的源码 。。。

小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2731
提问于:2014-04-10 12:00
< >
分享
最佳答案
0

如果会有多个上下文就不要缓存,这个是忠告.上下文放在线程里.一大堆问题.

实现的话简单的方法就是线程槽

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2014-04-10 14:00

求代码 因为我这个未必会用在 项目中 因为现在项目已经很稳定了 但是我想知道该如何去做

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2014-04-10 14:23

@小眼睛老鼠: Thread.GetData() 和线程静态变量是一样的,你可以在变量上打个标签ThreadStatic

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-10 14:59

@吴瑞祥: 非常感谢

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2014-04-10 15:18

这里我有一个问题想问层主 多个上下文 是什么情况?? 能说个例子么?

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2014-04-10 18:41

@小眼睛老鼠: 想IIS如果你把上下文做成线程单例.这是程序中就会有多个上下文

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-11 10:13

@吴瑞祥: 不同的请求本来就是2个线程吧 只是进程一样而已

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2014-04-13 22:14

@小眼睛老鼠: 是的,所以你就有了多了个EF上下文了

吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-19 20:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册