C# 在结构映射3中,HybridHttpOrthReadLocalScope的等价物是什么?
使用structuremap 2.6.4.1,我的容器的配置如下:C# 在结构映射3中,HybridHttpOrthReadLocalScope的等价物是什么?,c#,dependency-injection,structuremap,structuremap3,C#,Dependency Injection,Structuremap,Structuremap3,使用structuremap 2.6.4.1,我的容器的配置如下: existingContainer.Configure(expression => { expression.For<IDocumentSession>() .HybridHttpOrThreadLocalScoped() .Use(container => { var store =
existingContainer.Configure(expression =>
{
expression.For<IDocumentSession>()
.HybridHttpOrThreadLocalScoped()
.Use(container =>
{
var store = container.GetInstance<IDocumentStore>();
return store.OpenSession();
});
}
existingContainer.Configure(表达式=>
{
表达式。For()
.HybridHttpOrthReadLocalScope()文件
.Use(容器=>
{
var store=container.GetInstance();
返回store.OpenSession();
});
}
HybridHttpOrthReadLocalScope
在structuremap 3中不存在,所以我的问题是,structuremap 3中的等效配置是什么?它就在那里,这里说它现在是一个structuremap.Web nuget,需要添加到您的项目中才能工作。从structuremap 3开始,任何与HttpContext
相关的东西都在sep中存在名为StructureMap.Web
的arate Nuget包,可以使用
原因是StructureMap 3现在是PLC(Portalble类库)兼容,因此将与web相关的生命周期拆分为自己的包是有意义的。您应该非常小心每线程的生命方式。请看这个问题:。@Steven这是对structuremap的不准确评估,如果没有单元/集成测试中的上下文,它将只退回到线程生命周期。
HybridHtTPorthreadLocalScope
是structuremap@ChrisMarisic:我不同意你的观点。即使在单元测试中,这也是不好的,因为这会阻止测试独立运行。但是,即使在单元测试中使用每线程的生活方式,这仍然不是使用HybridHttpOrThreadLocalScoped的好理由e> 在您的生产配置中,因为在没有HTTP上下文的情况下,对象将在应用程序的整个过程中都有效;这绝不是一个好主意。我们将不同意。HybridHttpOrthReadLocalScope是使用StructureMap的最终原因,我在使用StructureMap的每个项目中都使用它,我认为您我应该回答他的问题。我在StructureMap.Web中没有看到任何混合方法。它在那里,看看