如何解决IDisposable ASP.net MVC控制器
我正在控制器的默认构造函数中创建一个“ 0”对象。 要在任何控制器内调用action方法后释放内存, 我想让控制器成为一次性的。这是一个好主意吗?public somethingController : Controller,Idisposable
{
// implement the dispose method here
public void dispose ()
{
EntityFrameWorkObject.dispose();
}
}
你怎么看?
解决方法
我建议使用IHttpModule实现来处理datacontext对象。我的实际代码与Microsoft统一。
public void Init(HttpApplication application)
{
application.EndRequest += new EventHandler(this.Application_EndRequest);
}
private void Application_EndRequest(object source,EventArgs e)
{
IoCWorker.Resolve<IRepositoryContext>().Terminate();
}
,是的,那是个好主意。实际上,它是推荐模式,通常被使用。如果要具有类范围的对象,并希望在类释放后释放其资源,请在Dispose()中进行操作
,是的,这是正确的。
public somethingController : Controller
{
// implement the dispose method here
public void Dispose ()
{
EntityFrameWorkObject.Dispose();
}
}
您不需要添加IDisposable
,因为控制器调用已经实现了它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。