我在流程开始时按如下方式创建处理对象:
using (var lifetime = EngineContext.Current.BeginLifetimeScope())
{
var sourceService = lifetime.Resolve<SourceService>();
// do things...
}
Run Code Online (Sandbox Code Playgroud)
SourceService类依赖于也通过构造函数注入在AutoFac中注册的其他对象。
这些对象是否自动继承与其“父对象”(即sourceService)相同的生命周期范围?
这取决于它们是如何注册的。
InstancePerLifetimeScope= 每个范围一个。
例子:
builder.Register<YourClass>()
.AsImplementedInterfaces()
.InstancePerLifetimeScope();
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多:
http://autofac.readthedocs.io/en/latest/lifetime/instance-scope.html
| 归档时间: |
|
| 查看次数: |
4080 次 |
| 最近记录: |