1

我一直在 mvc asp.net 中创建一个 Web 应用程序。我有三个不同的项目/解决方案:

  • 一种解决方案包含 EF (DAL) 中的模型以及添加、更新、删除和查询模型中对象的所有方法,对象上下文在此处以每个请求为基础进行管理。
  • 其他解决方案包含一个内容管理系统,授权用户通过前面提到的 DAL 插入、删除、更新和访问对象。
  • 最后一个解决方案包含所有用户(每天数千名用户)访问的网页,其中执行的唯一操作是选择,没有更新,插入或删除。

所有的选择都是针对前面提到的 DAL 执行的(第一个解决方案)。这里的问题是我不确定 HttpContext 生命周期 ObjectContext 是否是最佳解决方案。

我的网络应用程序中有很多 ajax 调用,我不确定 httpcontext 是否会干扰应用程序的性能。我注意到在某些情况下,特别是当有人在内容管理器中插入、更新或删除时,当您尝试单击用户 Web 应用程序的任何链接时(任何用户访问的 Web 应用程序 -我之前提到的第三个)网页冻结并且仍然卡在传输数据中。为了停止该行为,您必须停止并刷新或单击链接多次。请原谅我的英语不好。我希望你能理解并帮助我解决这个问题。提前谢谢。

4

1 回答 1

0

每个操作都需要一个新的 ObjectContext,因为它被设计用于一个工作单元。您希望在调用 SaveChanges 后将其释放,因为如果您在保存更改后使用它从中进行选择,您会得到意想不到的结果。

于 2010-03-21T10:49:21.487 回答