【问题标题】:How Does Autofac Handle Non-Disposable ComponentsAutofac 如何处理非一次性组件
【发布时间】:2020-05-29 12:35:57
【问题描述】:

我已经读到 Autofac 在 disposing IDisposable resources 方面做得很好,但我无法找到任何关于它对没有任何非托管资源的组件的作用的信息,因此不需要实现 IDisposable .我会假设这些都被垃圾收集了,但是有关于这种情况的任何文档吗?

编辑

更具体地说,实现IDisposable 是否需要所有Autofac 解析的组件? docs 声明

要利用自动确定性处置,您的组件必须实现 IDisposable。

我是否正确理解这指的是任何类型的 Autofac 解析的组件?

【问题讨论】:

    标签: c# memory-management autofac idisposable


    【解决方案1】:

    autofac 提供了有关管理对象处置的少量优秀文档。

    见:https://autofaccn.readthedocs.io/en/latest/lifetime/disposal.html

    【讨论】:

    • 你在我编辑的时候把它弄对了 :P 那么这适用于所有组件吗?我习惯了IDisposable 只有在有非托管资源时才需要。换一种方式问,如果我不实现IDisposable,Autofac 不会跟踪它以进行处置,GC 会像往常一样将其删除吗?
    • 这也取决于注册组件的生命周期范围。 Autoface 不会自动释放未实现“IDisposable”的对象。您必须为这些添加额外的处理。确实有处理非“IDisposable”对象的规范。见autofaccn.readthedocs.io/en/latest/lifetime/…
    猜你喜欢
    • 2019-03-14
    • 1970-01-01
    • 2016-10-14
    • 2020-04-05
    • 2015-12-25
    • 2021-05-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多