使用structuremap解决对存储库接口MVC5的依赖性

时间:2017-02-12 11:36:44

标签: c# asp.net-mvc-4 asp.net-mvc-5 structuremap4

我有一个从存储库项目中获取数据的映射器。我有一个IMenueMapper接口,它传递到homecontroller,如下所示:

public HomeController(IMenueMapper menueMapper)
{
    _menueMapper = menueMapper;
}

但menuemapper类本身使用IMenueMapperRepository,这来自另一个项目,并通过dll传递

public MenueMapper(IMenueItemsRepository menueItems)
{
    _menueItems = menueItems;
}

虽然我可以使用structuremap.mvc5轻松解决MVC项目中的IMenuemapper,但我无法解析存储库。在这种情况下,有没有办法实现DI?

1 个答案:

答案 0 :(得分:0)

您需要在组合根目录中注册抽象(存储库接口和实现)。

您表示IMenueMapper已通过;

注册
scan.AssemblyContainingType<MenueMapper>();

  

MenueMapper类本身使用IMenueMapperRepository和   这来自另一个项目,并通过dll传递

然后它也应该扫描,因为它属于另一个程序集

scan.AssemblyContainingType<MenueItemsRepository>();

确保项目引用有问题的程序集