Bit-Framework如何实现不同项目的模块化依赖注册?
How To Have Modular Dependency Registration in Different Projects in Bit-Framework?
我在使用位框架的解决方案中有很多项目。我需要在每个项目中注册接口,并进行模块化注册。怎么做到的?
假设您有以下模块:"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>();
}
}
我在使用位框架的解决方案中有很多项目。我需要在每个项目中注册接口,并进行模块化注册。怎么做到的?
假设您有以下模块:"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>();
}
}