示例#1
0
        internal static void AddCoreAbpServices(this IServiceCollection services,
                                                IAbpApplication abpApplication,
                                                AbpApplicationCreationOptions applicationCreationOptions)
        {
            var moduleLoader   = new ModuleLoader();
            var assemblyFinder = new AssemblyFinder(abpApplication);
            var typeFinder     = new TypeFinder(assemblyFinder);

            if (!services.IsAdded <IConfiguration>())
            {
                services.ReplaceConfiguration(
                    ConfigurationHelper.BuildConfiguration(
                        applicationCreationOptions.Configuration
                        )
                    );
            }

            services.TryAddSingleton <IModuleLoader>(moduleLoader);
            services.TryAddSingleton <IAssemblyFinder>(assemblyFinder);
            services.TryAddSingleton <ITypeFinder>(typeFinder);
            services.TryAddSingleton <IInitLoggerFactory>(new DefaultInitLoggerFactory());

            services.AddAssemblyOf <IAbpApplication>();

            services.Configure <AbpModuleLifecycleOptions>(options =>
            {
                options.Contributors.Add <OnPreApplicationInitializationModuleLifecycleContributor>();
                options.Contributors.Add <OnApplicationInitializationModuleLifecycleContributor>();
                options.Contributors.Add <OnPostApplicationInitializationModuleLifecycleContributor>();
                options.Contributors.Add <OnApplicationShutdownModuleLifecycleContributor>();
            });
        }
示例#2
0
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        context.Services.ReplaceConfiguration(ConfigurationHelper.BuildConfiguration(builderAction: builder =>
        {
            builder.AddUserSecrets(UserSecretsId);
        }));

        var configuration   = context.Services.GetConfiguration();
        var accessKeyId     = configuration["Aws:AccessKeyId"];
        var secretAccessKey = configuration["Aws:SecretAccessKey"];
        var region          = configuration["Aws:Region"];

        Configure <AbpBlobStoringOptions>(options =>
        {
            options.Containers.ConfigureAll((containerName, containerConfiguration) =>
            {
                containerConfiguration.UseAws(aws =>
                {
                    aws.AccessKeyId                = accessKeyId;
                    aws.SecretAccessKey            = secretAccessKey;
                    aws.Region                     = region;
                    aws.CreateContainerIfNotExists = true;
                    aws.ContainerName              = _randomContainerName;

                    _configuration = aws;
                });
            });
        });
    }
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        context.Services.ReplaceConfiguration(ConfigurationHelper.BuildConfiguration(builderAction: builder =>
        {
            builder.AddUserSecrets(UserSecretsId);
        }));

        var configuration = context.Services.GetConfiguration();

        _endPoint  = configuration["Minio:EndPoint"];
        _accessKey = configuration["Minio:AccessKey"];
        _secretKey = configuration["Minio:SecretKey"];

        Configure <AbpBlobStoringOptions>(options =>
        {
            options.Containers.ConfigureAll((containerName, containerConfiguration) =>
            {
                containerConfiguration.UseMinio(minio =>
                {
                    minio.EndPoint   = _endPoint;
                    minio.AccessKey  = _accessKey;
                    minio.SecretKey  = _secretKey;
                    minio.WithSSL    = false;
                    minio.BucketName = _randomContainerName;
                    minio.CreateBucketIfNotExists = true;
                });
            });
        });
    }
示例#4
0
        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            var configuration = ConfigurationHelper.BuildConfiguration();

            context.Services.SetConfiguration(configuration);

            context.Services.Configure <DbConnectionOptions>(options =>
            {
                options.ConnectionStrings.Default = configuration.GetConnectionString("Default");
            });

            context.Services.Configure <AbpDbContextOptions>(options =>
            {
                options.Configure(opts =>
                {
                    opts.UseSqlServer();
                });
            });

            context.Services.Configure <BackgroundJobWorkerOptions>(options =>
            {
                //Configure for fast running
                options.JobPollPeriod            = 1000;
                options.DefaultFirstWaitDuration = 1;
                options.DefaultWaitFactor        = 1;
            });
        }
示例#5
0
 public override void PreConfigureServices(ServiceConfigurationContext context)
 {
     context.Services.ReplaceConfiguration(
         ConfigurationHelper.BuildConfiguration(
             new AbpConfigurationBuilderOptions
     {
         EnvironmentName = "Development",
         BasePath        = Directory.GetCurrentDirectory()
     }));
 }
        public override void PreConfigureServices(ServiceConfigurationContext context)
        {
            var configurationOptions = new AbpConfigurationBuilderOptions
            {
                BasePath        = @"D:\Projects\Development\Abp\FeaturesValidation\Redis",
                EnvironmentName = "Development"
            };

            context.Services.ReplaceConfiguration(ConfigurationHelper.BuildConfiguration(configurationOptions));
        }
示例#7
0
 public override void PreConfigureServices(ServiceConfigurationContext context)
 {
     context.Services.ReplaceConfiguration(
         ConfigurationHelper.BuildConfiguration(
             new AbpConfigurationBuilderOptions
     {
         BasePath        = @"D:\Projects\Development\Abp\OssManagement",
         EnvironmentName = "Development"
     }));
 }
示例#8
0
        public override void PreConfigureServices(ServiceConfigurationContext context)
        {
            var configuration = ConfigurationHelper.BuildConfiguration();

            context.Services.SetConfiguration(configuration);

            context.Services.PreConfigure <IGlobalConfiguration>(hangfireConfiguration =>
            {
                hangfireConfiguration.UseSqlServerStorage(configuration.GetConnectionString("Default"));
            });
        }
示例#9
0
        private string CreateAccessToken(IEnumerable <Claim> claims, TimeSpan?expiration = null)
        {
            var now = DateTime.UtcNow;

            var jwtSecurityToken = new JwtSecurityToken(
                issuer: ConfigurationHelper.BuildConfiguration().GetValue <string>("Authentication:JwtBearer:Issuer"),
                audience: ConfigurationHelper.BuildConfiguration().GetValue <string>("Authentication:JwtBearer:Audience"),
                claims: claims,
                notBefore: now,
                expires: now.Add(TimeSpan.FromDays(30)),
                signingCredentials: new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(ConfigurationHelper.BuildConfiguration().GetValue <string>("Authentication:JwtBearer:SecurityKey"))), SecurityAlgorithms.HmacSha256)
                );

            return(new JwtSecurityTokenHandler().WriteToken(jwtSecurityToken));
        }
示例#10
0
        internal static void AddCoreCafServices(this IServiceCollection services,
                                                CafApplicationCreationOptions applicationCreationOptions)
        {
            var moduleLoader = new ModuleLoader();

            if (!services.IsAdded <IConfiguration>())
            {
                services.AddSingleton <IConfiguration>(ConfigurationHelper.BuildConfiguration(
                                                           applicationCreationOptions.Configuration
                                                           ));
            }

            services.TryAddSingleton <IModuleLoader>(moduleLoader);
            services.TryAddSingleton <IDefaultAutoRegistrar>(new DefaultAutoRegistrar());
            services.AddAssemblyOf <ICafApplication>();
        }
        /// <summary>
        /// 好像被VirtualFileSystemApplicationBuilderExtensions替代了
        /// </summary>
        /// <param name="env"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public static IConfigurationRoot BuildConfiguration(
            this IWebHostEnvironment env,
            AbpConfigurationBuilderOptions options = null)
        {
            options = options ?? new AbpConfigurationBuilderOptions();

            if (options.BasePath.IsNullOrEmpty())
            {
                options.BasePath = env.ContentRootPath;
            }

            if (options.EnvironmentName.IsNullOrEmpty())
            {
                options.EnvironmentName = env.EnvironmentName;
            }

            return(ConfigurationHelper.BuildConfiguration(options));
        }
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        context.Services.ReplaceConfiguration(ConfigurationHelper.BuildConfiguration(builderAction: builder =>
        {
            builder.AddUserSecrets(UserSecretsId);
        }));

        var configuration   = context.Services.GetConfiguration();
        var accessKeyId     = configuration["Aliyun:AccessKeyId"];
        var accessKeySecret = configuration["Aliyun:AccessKeySecret"];
        var endpoint        = configuration["Aliyun:Endpoint"];
        var regionId        = configuration["Aliyun:RegionId"];
        var roleArn         = configuration["Aliyun:RoleArn"];

        Configure <AbpBlobStoringOptions>(options =>
        {
            options.Containers.ConfigureAll((containerName, containerConfiguration) =>
            {
                containerConfiguration.UseAliyun(aliyun =>
                {
                    aliyun.AccessKeyId     = accessKeyId;
                    aliyun.AccessKeySecret = accessKeySecret;
                    aliyun.Endpoint        = endpoint;
                    //STS
                    aliyun.UseSecurityTokenService = true;
                    aliyun.RegionId        = regionId;
                    aliyun.RoleArn         = roleArn;
                    aliyun.RoleSessionName = Guid.NewGuid().ToString("N");
                    aliyun.DurationSeconds = 900;
                    aliyun.Policy          = String.Empty;
                    //Other
                    aliyun.CreateContainerIfNotExists = true;
                    aliyun.ContainerName = _randomContainerName;
                    aliyun.TemporaryCredentialsCacheKey = "297A96094D7048DBB2C28C3FDB20839A";
                    _configuration = aliyun;
                });
            });
        });
    }
        /// <summary>
        /// Adds the core abp services.
        /// </summary>
        /// <param name="services">The services.</param>
        /// <param name="aplication">The  application.</param>
        /// <param name="applicationCreationOptions">The application creation options.</param>
        internal static void AddAppCoreServices(this IServiceCollection services,
                                                IApplication aplication,
                                                ApplicationCreationOptions applicationCreationOptions)
        {
            var moduleLoader = new ModuleLoader();

            //StartupModules=>Modules=>Assemblies
            var assemblyFinder = new AssemblyFinder(aplication);

            //封装了所有程序集中所有的Types
            var typeFinder = new TypeFinder(assemblyFinder);

            if (!services.IsAdded <IConfiguration>())
            {
                //生成Configuration对象并注册(默认规则appsetting.json环境变量,命令行参数等)
                services.ReplaceConfiguration(
                    ConfigurationHelper.BuildConfiguration(
                        applicationCreationOptions.Configuration
                        )
                    );
            }

            services.TryAddSingleton <IModuleLoader>(moduleLoader);
            services.TryAddSingleton <IAssemblyFinder>(assemblyFinder);
            services.TryAddSingleton <ITypeFinder>(typeFinder);

            //添加Noob.Core程序集(基于约定方式的,注册程序集中services)IMPORTANT
            services.AddAssemblyOf <IApplication>();

            //配置模块声明周期的HOOKS
            services.Configure <ModuleLifecycleOptions>(options =>
            {
                options.Contributors.Add <OnPreApplicationInitializationModuleLifecycleContributor>();
                options.Contributors.Add <OnApplicationInitializationModuleLifecycleContributor>();
                options.Contributors.Add <OnPostApplicationInitializationModuleLifecycleContributor>();
                options.Contributors.Add <OnApplicationShutdownModuleLifecycleContributor>();
            });
        }
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        context.Services.ReplaceConfiguration(ConfigurationHelper.BuildConfiguration(builderAction: builder =>
        {
            builder.AddUserSecrets(UserSecretsId);
        }));

        var configuration = context.Services.GetConfiguration();

        _connectionString = configuration["Azure:ConnectionString"];

        Configure <AbpBlobStoringOptions>(options =>
        {
            options.Containers.ConfigureAll((containerName, containerConfiguration) =>
            {
                containerConfiguration.UseAzure(azure =>
                {
                    azure.ConnectionString           = _connectionString;
                    azure.ContainerName              = _randomContainerName;
                    azure.CreateContainerIfNotExists = true;
                });
            });
        });
    }
 public override void SetupTest()
 {
     ConfigurationHelper.BuildConfiguration();
 }
示例#16
0
        public static void AddSetupToScenarioContext(ScenarioContext scenarioContext)
        {
            ConfigurationHelper.BuildConfiguration();

            scenarioContext.Add(nameof(ConfigurationHelper.TestApiUrl), ConfigurationHelper.TestApiUrl);
        }