控制器构造函数中的new()EF Context是否正确处理?

时间:2011-11-19 05:44:34

标签: asp.net-mvc entity-framework repository-pattern

影响我的datacontext的ASP.NET网站recommends implementing Disposable on my repository

我在这里初始化datacontext是否足够,并随便让ASP.NET处理资源?

在什么条件下它不会被调用?我经常调试(结束调试会话中间页面)并注意到我需要重新启动以回收一些内存。

1 个答案:

答案 0 :(得分:1)

MVC不会处置您创建的任何IDisposable个实例。你负责处理它们。您可以超越控制器的Dispose方法。

public class MyController : Controller
{

      protected override void Dispose(bool disposing) 
      {
          //dispose them here
      }
}

或使用依赖注入/ IoC框架来控制IDisposable实例的生命周期。如果框架创建了这些实例,许多DI / IoC框架将自动调用Dispose方法。