日期:2014-05-20  浏览次数:20716 次

linq DataReader。必须先关闭之类的错误.
由于我采用了多线程编程,且使用单列模式。所以在只new 一个 DataContext时。经常会出现 
已经打开一个DataReader。必须先关闭之类的错误!(我个人的理解是:就是因为才一个DataContext,所以有时候当同时进行2个查询的话会出现这个错误。不知道是否理解的有错!)所以我才在每个查询方法中都使用new DataContext,但是性能变的超差! 
应该怎么样解决?


------解决方案--------------------
new 之前,可以先判断一下是否已经有了。

用一个多线程共用变量保存,这样就可以统一判断了。

------解决方案--------------------
判断一下就可以了
------解决方案--------------------
探讨
所以我才在每个查询方法中都使用new DataContext,但是性能变的超差!

------解决方案--------------------
DataReader必须关闭,才能使用
通过属性赋值判断是否为null判断,再关闭
性能提高有很多方面。
------解决方案--------------------
...谁让你用SingleTon的,还好ms检查了一下,不然天知道会出什么问题