コード例 #1
0
        private static AppTextAdminConfigurationOptions GetOptions(
            IServiceCollection services,
            AppTextPublicApiConfiguration apiConfiguration,
            Action <AppTextAdminConfigurationOptions> setupAction = null
            )
        {
            var enrichOptions = setupAction ?? delegate { };
            var options       = new AppTextAdminConfigurationOptions();

            enrichOptions(options);

            // Try to set empty options from AppText API configuration
            if (apiConfiguration != null)
            {
                if (String.IsNullOrEmpty(options.RoutePrefix))
                {
                    options.RoutePrefix = apiConfiguration.RoutePrefix;
                }
                if (!options.RequireAuthenticatedUser.HasValue)
                {
                    options.RequireAuthenticatedUser = apiConfiguration.RequireAuthenticatedUser;
                }
                if (options.RequiredAuthorizationPolicy == null)
                {
                    options.RequiredAuthorizationPolicy = apiConfiguration.RequiredAuthorizationPolicy;
                }
            }

            // Register options as singleton
            services.TryAddSingleton(options);

            return(options);
        }
コード例 #2
0
        private static void ConfigureServices(IServiceCollection services, Assembly assembly, AppTextAdminConfigurationOptions options)
        {
            if (!options.EmbeddedViewsDisabled)
            {
                // Register EmbeddedFileProvider for views
                services.Configure <MvcRazorRuntimeCompilationOptions>(razorOptions =>
                {
                    razorOptions.FileProviders.Add(new EmbeddedFileProvider(assembly));
                });

                // Register Embedded Static Files provider
                services.ConfigureOptions(typeof(EmbeddedStaticFilesOptions));
            }
        }