Autofac BeginLifetimeScope

时间:2012-02-21 05:41:06

标签: c# autofac

我在流程开始时按如下方式创建处理对象:

using (var lifetime = EngineContext.Current.BeginLifetimeScope())
{
    var sourceService = lifetime.Resolve<SourceService>();  
    // do things... 
}

SourceService类依赖于在AutoFac中注册的其他对象 - 通过构造函数注入。

这些对象是否会自动继承与其'parent'相同的lifetimescope,即sourceService?

1 个答案:

答案 0 :(得分:3)

这取决于他们的注册方式。

InstancePerLifetimeScope =每个范围一个。

示例:

builder.Register<YourClass>()
    .AsImplementedInterfaces()
    .InstancePerLifetimeScope();

您可以在这里阅读更多内容:

http://autofac.readthedocs.io/en/latest/lifetime/instance-scope.html