加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

class – MVC 5 – 控制器配置方法

发布时间:2020-12-16 03:29:44 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个MVC 5互联网应用程序.我的控制器中有以下方法: protected override void Dispose(bool disposing){ if (disposing) { db.Dispose(); } base.Dispose(disposing);} 如果我在这个控制器中有一个使用相同db对象的服务类,我是否需要在此服务类中
我正在开发一个MVC 5互联网应用程序.我的控制器中有以下方法:

protected override void Dispose(bool disposing)
{
    if (disposing)
    {
        db.Dispose();
    }
    base.Dispose(disposing);
}

如果我在这个控制器中有一个使用相同db对象的服务类,我是否需要在此服务类中使用Dispose()方法,或者控制器中的Dispose()方法是否需要处理?

提前致谢.

解决方法

一般来说:班级应该处理它负责的任何一次性用品.责任本质上归结为它是否“拥有”依赖性.换句话说,如果它是该类的一个字段并且该类实例化它,那么它也应该处理它.

对于您的服务,虽然服务类上可能存在上下文字段,但您通过构造函数将上下文注入服务,而不是让服务实例化它.因此,服务处理上下文是不合适的,因为它不“拥有”它.

此外,如果您使用依赖注入容器,使控制器不再实例化上下文,而只是将其注入其构造函数中,那么您也不应该将其丢弃在控制器中. DI容器最终将负责处置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读