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.在需要的地方进行构造函数注入就可以使用

原文地址:https://www.cnblogs.com/jiangchengbiao/p/10196223.html