我在流程开始时按如下方式创建处理对象:
using (var lifetime = EngineContext.Current.BeginLifetimeScope())
{
var sourceService = lifetime.Resolve<SourceService>();
// do things...
}
SourceService类依赖于在AutoFac中注册的其他对象 - 通过构造函数注入。
这些对象是否会自动继承与其'parent'相同的lifetimescope,即sourceService?
答案 0 :(得分:3)
这取决于他们的注册方式。
InstancePerLifetimeScope
=每个范围一个。
示例:
builder.Register<YourClass>()
.AsImplementedInterfaces()
.InstancePerLifetimeScope();
您可以在这里阅读更多内容:
http://autofac.readthedocs.io/en/latest/lifetime/instance-scope.html