2013-03-01 61 views
0

我使用LINQ SQL是1周全球的DataContext方法。有并发LINQ-SQL发出

我虽然有问题。我有一个页面可以抓取数据库中的所有案例,并从结果IEnumerable中复制数据。

然后,当我浏览到去做些对这些案件的一些更新,它失败。

有什么我可以做些什么来解决并发问题或这些类型的一般性问题,同时仍只使用每用户会话1个数据上下文?它可以帮助我也许每次使用新的数据上下文页面加载或什么?

谢谢

+1

“失败”是不建议进行原子操作,在需要的时候实例化的datacontext和事后的处置它的错误 – msmucker0527 2013-03-01 17:01:58

+0

非常描述性的解释。 – Dimitri 2013-03-01 17:14:10

回答

1

在ASP.NET中不能有1个全局数据上下文;每个HTTP请求需要一个全局上下文,因为您将处理像您提到的问题。 LINQ to SQL跟踪图形中的对象更改,并且静态上下文将包含放置在先前HTTP请求中的对象的实例。另外,加班时,它会变得臃肿并占用大量的记忆。该方法是将其实例存储在HttpContext.Current.Items中。