2012-02-21 69 views
3

創建處理對象的處理的開始時,如下所示:Autofac BeginLifetimeScope

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

的SourceService類依賴於其它的目的也與AutoFac註冊 - 通過構造器注入。

這些對象是否會自動繼承與其「父」即sourceService相同的生命週期?

回答

3

這取決於他們是如何註冊的。

InstancePerLifetimeScope =每個範圍一個。

例子:

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

你可以在這裏閱讀更多:

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

+2

...和默認,InstancePerDependency(),結果在範圍上本地的情況下,太。 – 2012-02-21 14:23:38