1

我有一个使用实体框架的 asp.net Web 应用程序。应用程序数据层使用由 Jordan Van Gogh 概述的方法,可在此处找到。 简而言之,此方法对每个 http 请求使用一个共享 objectcontext 实例,并使用继承 IHttpModule 的 AspNetObjectContextDisposalModule 进行处理。

我添加了另一个项目,一些额外的表,并设置了一个数据层,将我上面描述的示例(完全)复制到我的应用程序中。这个额外的项目和随后的不同数据模型都可以完美运行。我可以使用 2 个数据层执行不同的操作,但似乎没有任何后果。当然,对象集在 2 个数据层中是不同的,因为它们代表不同的表。

我的问题是这样的:

这种方法是个好主意吗?我了解了幕后发生的大部分事情,但是这两个模型都使用 System.Data.Objects.ObjectContext。如果用户 A 使用第一个数据层执行操作,同时用户 B 使用第二个数据层执行操作,“共享”对象上下文是否会出现问题?

谢谢。并且要温柔。

编辑 注意:我使用不同的 oc 键

4

1 回答 1

1

你应该没问题:

  • 对象上下文是每个 http 请求的,因此来自不同用户的上下文不会相互干扰
  • 每个上下文更新不同的表,因此它们不会相互干扰

您可能需要注意的一件事是两个用户同时更新相同的数据会发生什么。

于 2010-10-23T22:51:28.340 回答