我在许多例子中看到有关MVC,库模式,工作的单位和EF,例如here,这两个接口和类实现IDisposable
接口。我想这个界面只显示了带有2个重载的方法Dispose()
。在MVC中使用实体框架时是否需要实现IDisposable?
但是,在高级程序员制作的许多其他示例中,我没有看到这样的实现。实际上,对我来说,每个Web请求中都有一个组件被解雇似乎相当逻辑,因为每个请求都会得到一个全新的控制器实例。
或者即使情况并非如此,我猜想通过使用依赖注入框架(如Ninject),我们将所有这些处置任务委托给该框架。
在EF或MVC框架的旧版本中,还需要执行IDisposable。
有人可能会指出我正确的方向吗?
UPDATE
自动处置上下文可以以分层的应用中可以看出与服务和库层。假设由两个组件我们回到IQueryable<T>
对象,如果我们试图从控制器填充的对象,通过迭代的项目或致电ToList()
方法,我们得到一个运行时错误说,环境是不可达(关闭)
_guess此接口公开了方法Dispose()与2个overloads_ - 否,接口定义了1个重载。另一个属于实现模式。 – 2012-03-27 09:15:31