Autofac FactoryScoped Linq到SQL数据上下文

| 使用Linq to SQL数据上下文进行“ 0”注册是什么意思?谁负责处理? 这是我看到的代码。对于ASP.NET应用程序,我认为对于数据上下文不建议使用“ 0”?
builder.Register(c => new MyDataContext(\"connectionString\"))
       .As<MyDataContext>()
       .FactoryScoped();
    
已邀请:
1.x中的
FactoryScoped
在2.x中重命名为ѭ4which,imo更能描述效果。这意味着,每次注入服务时,Autofac都会提供一个新实例。在您的情况下,将在注入时创建一个新的数据上下文。 Autofac仍然会负责处理,但是这里有一个陷阱。 ѭ5the的每个实例都将在当前生存期范围内被跟踪,因此只有在释放范围之前才会释放它。 要自己控制处置,您可以用
ExternallyOwned
标记注册。您也可以查看
Owned<>
类型。阅读有关确定性处置和拥有的实例的信息。     

要回复问题请先登录注册