如果安装了StructureMap.MVC5 nuget包,并更新了structuremap nuget包,则ControllerConvention类将要求您实现ScanTypes方法(来自更新的IRegistrationConvention接口)。这是方法签名:
public void ScanTypes(TypeSet types, Registry registry)
所以我的问题是,
感谢。
答案 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