在我的ASP.NET MVC项目中,我有2个项目 - UI和Core。我在我的Core项目中设置了StructureMap,如下所示:
ObjectFactory.Initialize(cfg => cfg.Scan(scanner =>
{
scanner.TheCallingAssembly();
scanner.LookForRegistries();
}));
我设置了一个注册表,允许我在我的存储库中使用IoC:
public class CoreRegistry : Registry
{
public CoreRegistry()
{
Scan(cfg =>
{
cfg.TheCallingAssembly();
cfg.WithDefaultConventions();
});
}
}
我在global.asax中初始化它。所有这些配置都是Core中的黑盒子,一切都很好。
但是,现在我想在我的UI项目中使用StructureMap for IoC。在配置完成后,是否可以在配置中添加更多内容?我不想解开一切让我的UI元素注册。
答案 0 :(得分:0)
您可以使用相同的策略来注册ui对象。您可以将UI程序集的引用发送到`在Core dll中查找注册表的方法。并扫描UI程序集以注册:
ObjectFactory.Initialize(cfg => cfg.Scan(scanner =>
{
scanner.TheCallingAssembly();
scanner.Assembly(assembly);
scanner.LookForRegistries();
}));
并且您可以像往常一样在UI项目中声明注册表。您还可以随时添加任意数量的注册表。