Autofac实例生命周期
1.默认,每次请求都会返回一个实例
builder.RegisterType<X>().InstancePerDependency();
2.Per Lifetime Scope:这个作用域适用于嵌套的生命周期。一个使用Per Lifetime 作用域的component在一个 nested lifetime scope内最多有一个实例。
1 |
builder.RegisterType<X>().InstancePerLifetimeScope(); |
3.基于线程或者Context上下文的请求,返回一个单例实例,在Controller的一个View页面执行时包含了整个Context上下文处理,这种属于第二种情况的一个例子
1 |
builder.RegisterType<OpenIdRelyingPartyService>().As<IOpenIdRelyingPartyService>().InstancePerHttpRequest(); |
4.单例模式:所有的请求只会返回一个单例
1 |
builder.RegisterType<X>().SingleInstance(); |
Don’t resolve from the root container. Always resolve from and then release a lifetime scope.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。