IDisposable 准则


  • 不要为 IDisposable 实例注册暂时性生存期。 请改用工厂模式。
  • 不要在根范围内解析具有暂时性或范围内生存期的 IDisposable 实例。 唯一的例外是应用创建/重新创建并释放 IServiceProvider 的情况,但这不是理想模式。
  • 通过 DI 接收 IDisposable 依赖项不要求接收方自行实现 IDisposable。 IDisposable 依赖项的接收方不能对该依赖项调用 Dispose
  • 使用范围控制服务的生存期。 作用域不区分层次,并且在各作用域之间没有特定联系。

有关资源清理的详细信息,请参阅实现 Dispose 方法实现 DisposeAsync 方法。 另外,请考虑容器捕获的可释放的暂时性服务方案,因为它与资源清理相关


Leave a Reply

Your email address will not be published. Required fields are marked *