StructureMap 3打破变化

时间:2014-04-29 21:22:48

标签: structuremap structuremap3

以下代码不适用于StructureMap 3:

x.For<Environment>()
    .LifecycleIs(StructureMap.Pipeline.Lifecycles.GetLifecycle(InstanceScope.HttpContext))
    .Use(c => Environment.GetEnvironment("APP"));
x.SelectConstructor(() => new HelpController());

InstanceScope.HttpContext无法正常工作StructureMap 3

SelectConstructor()无法在StructureMap 3上运行

1 个答案:

答案 0 :(得分:4)

Lifecycles的“新”语法(结构图2中也可用)如下

x.For<Environment>()
    .LifecycleIs<HttpContextLifecycle>()
    .Use(c => Environment.GetEnvironment("APP"));

编辑:

SelectConstructor的替换现在位于PolicyExpression

x.Policies.ConstructorSelector(...);

ConstructorSelector的工作方式发生了变化。最好的想法是查看Test source,看看它是如何使用的。