何时更新Structuremap.MVC5 nuget包以支持Structuremap 4.x?

时间:2016-01-20 14:59:02

标签: asp.net-mvc-5 nuget structuremap

如果安装了StructureMap.MVC5 nuget包,并更新了structuremap nuget包,则ControllerConvention类将要求您实现ScanTypes方法(来自更新的IRegistrationConvention接口)。这是方法签名:

public void ScanTypes(TypeSet types, Registry registry)

所以我的问题是,

  1. 是否会有一个更新版本的StructureMap.MVC5 nuget包?
  2. 我该如何实施该方法?
  3. 感谢。

2 个答案:

答案 0 :(得分:7)

根据Charles Duffy的回答,我去搜索并找到答案: https://github.com/webadvanced/Structuremap.MVC5/issues/15

public void ScanTypes(TypeSet types, Registry registry)
{
    types.AllTypes().ForEach(type =>
    {
        if (type.CanBeCastTo<Controller>() && !type.IsAbstract)
        {
            registry.For(type).LifecycleIs(new UniquePerRequestLifecycle());
        }
    });
}

海报(和我)“不确定这是否是最佳方式”。

答案 1 :(得分:0)

似乎不会更新Structuremap.MVC5包以直接支持Structuremap 4.x.

然而,相对较小的变化将使其发挥作用。

@mnwsmitgave这里有一个很好的实施解释 - https://stackoverflow.com/a/35913874/1019768