【问题标题】:How to release a service acquired via IServiceProvider?如何发布通过 IServiceProvider 获取的服务?
【发布时间】:2017-10-18 19:35:56
【问题描述】:

如何发布在运行时通过 IServiceProvider (.net core 2.0) 实例化的服务?

我在 IServiceProvider 上没有看到任何类型的 .Release(obj) 方法。

【问题讨论】:

  • “IServiceProvider”不明确。同名的 COM 接口有一个 Release() 方法。 .NET 接口(可能是依赖注入)没有,GC 完成了工作。

标签: .net-core


【解决方案1】:

有了受支持的生命周期,就不需要 Release 方法了。

  • 当超出范围时,瞬态依赖将被 GC'ed。
  • 单例 将在第一次解析时实例化,其引用由 容器直到它被释放(通常仅在应用关闭时)
  • Scoped 将由创建的范围持有 服务于网络请求或任何依赖范围的机制。

【讨论】:

    猜你喜欢
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 2015-09-02
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多