在MVC中创建控制器时,您无需为其进行任何其他注册.添加区域也是如此.只要您的global.asax具有AreaRegistration.RegisterAllAreas()调用,就不需要进行其他设置.
使用AutoMapper,我们必须使用某种CreateMap<TSource, TDestination>调用来注册映射.可以使用static显式地执行这些操作Mapper.CreateMap,或者通过从AutoMapper.Profile类派生,重写Configure方法,然后CreateMap从那里调用.
在我看来,应该能够扫描一个程序集,从Profile类似MVC扫描扩展的类扩展Controller.使用这种机制,不应该仅通过创建派生自的类来创建映射Profile吗?是否存在任何此类库工具,或者是否存在内置于automapper中的内容?
reflection asp.net-mvc auto-registration automapper automapper-2
container.Register(
AllTypes.Pick().FromAssembly(typeof (UserRepository).Assembly)
.WithService.FirstInterface());
Run Code Online (Sandbox Code Playgroud)
当前,如果接口也位于同一程序集中,则上面的代码可以正常工作,但是如果IUserRepository来自不同的程序集,则该代码将崩溃。
是否可以从两个不同的程序集中自动注册?我在这里想念什么吗?