我在使用位框架的解决方案中有很多项目。我需要在每个项目中注册接口,并进行模块化注册。怎么办?
想象你有以下模块:“FrontApp + SubSys1 + SubSys2”
AppStartup和以前一样有两个修改:
1-在AssemblyContainer.Current.Init();
之后添加以下代码:
AssemblyContainer.Current.AddAppAssemblies(typeof(SubSys1AppModule).GetTypeInfo().Assembly, typeof(SubSys2AppModule).GetTypeInfo().Assembly);
2-将GetAppModules的正文更改为以下内容:
public IEnumerable<IAppModule> GetAppModules()
{
yield return this;
yield return new SubSys1AppModule();
yield return new SubSys2AppModule();
}
SubSys1AppModule的代码:
public class SubSys1AppModule : IAspNetCoreAppModule // It's possible in owin based apps by implementing IOwinAppModule
{
public virtual void ConfigureDependencies(IServiceProvider serviceProvider, IServiceCollection services, IDependencyManager dependencyManager)
{
dependencyManager.Register<Module1Contract, Module1Implementation>();
}
}