如果在Web应用程序中抛出未处理的异常,DBcontext会发生什么?

时间:2016-06-04 20:24:23

标签: c# asp.net-mvc entity-framework

我的应用程序基于MVC和实体框架,使用工作单元模式和DDD。

以下是控制器操作方法中的代码流。

  1. 创建一个工作单元实例。
  2. 通过将工作单元对象传递给domainService构造函数来创建域服务实例。
  3. 使用domainService对象调用适当的方法,此方法对实体对象进行必要的更改。
  4. 在工作单元上提交(saveChanges)。
  5. 如果在步骤3中抛出任何未处理的域异常(所有异常都在mvc属性中处理,并且在UI上显示异常消息)。如果用户更正了UI上的数据并点击了保存,我在后续调用同一操作方法时会收到以下错误

      

    错误:   “实体对象不能待引用逐多实例-的-ientitychangetracker”

    如果在Web请求中抛出未处理的异常,DbContext会发生什么?上一个Web请求中创建的上下文是否在下一个Web请求中保持活动状态?如果是,那就是我得到上述例外的原因吗?

    如果这不是原因,那么在异常上调用dispose()会解决我的问题吗?

0 个答案:

没有答案