Gau*_*lot 4 c# dependency-injection autofac
我知道这Func<T>是不同的Func<Owned<T>>,我知道如何注入每种类型的依赖.但是,我经常感到困惑,因为我什么时候比较喜欢一个?
假设,我有一个遵循MVP模式的应用程序,我想注入一个视图PrintView.然后,基于什么理由我决定我应该将视图注入Func<PrintView>或Func<Owned<PrintView>>?
Func<T>将解析生命周期范围中的项目,该范围将在释放生命周期范围时处理.例如,在一个MVC控制器的情况下:
Func<T>解析a T.T实例将与请求范围一起处理.Owned<T>意味着你采取明确处置责任的的T实例.Func<Owned<T>>将从Owned<T>生命范围内获得一个.
Func<Owned<T>>将解决Owned<T>请求生命周期范围内的问题.Owned<T>实例.您需要在控制器或应用程序代码中的其他位置进行某种清理.Owned<T>如果你想控制事情处理的时间,那真的很有趣.如果你不关心或希望生命范围处理为你照顾它,那就没有意思了.
| 归档时间: |
|
| 查看次数: |
525 次 |
| 最近记录: |