假设我有一个对象的实例,由 Autofac 解析,如下所示:
ILifetimeScope scope = rootContainer....
var myService = scope.Resolve(myServiceType);
现在我只有myService
. 是否有任何 Autofac API 接收我的变量myService
并将其处理掉(连同 Autofac 解决的所有依赖项)?
例如
// later at some point, something like this
rootContainer.DisposeOff(myService) // <-- this should dispose the lifetime scope of myService, i.e. dispose myService, along with its other dependencies.
需要注意的几点:
- 我当然不能自己做
myService.Dispose()
,因为这不会处理 Autofac 注入的子依赖项(因为 Autofac 正在控制它们的生命周期)。 - 我只有
myService
和我在一起。这是我正在处理的图书馆的特殊性质。我当然可以scope
自己存储变量并管理它。那将是我最后的手段。只是想知道 Autofac 是否内置了一些东西。