ABP配置模块扩展
1.定义一个接口 里面是配置的属性等
public interface IMyConfiguration { int Id { get; set; } string Name { get; set; } }
2.实现接口
public class MyConfiguration: IMyConfiguration { public int Id { get; set; } public string Name { get; set; } }
3.定义一个静态配置类(单例) IModuleConfigurations类型的扩展方法 这样就可以通过Configuration.Modules.My() 点出来
public static class MyConfigurationExtensions { public static IMyConfiguration My(this IModuleConfigurations configurations) { return configurations.AbpConfiguration.Get<IMyConfiguration>(); } }
4. 把第一步第二步的接口和类进行依赖注入 在PreInitialize(预初始化)中
IocManager.Register<IMyConfiguration, MyConfiguration>();
5.可以在指定层的Model中 进行初始化这个配置类中
public override void PreInitialize() { IocManager.Register<IMyConfiguration, MyConfiguration>(); Configuration.Modules.My().Id = 10; Configuration.Modules.My().Name = "张三"; }
6.在需要的地方进行构造函数注入就可以使用