Ejemplo n.º 1
0
        /// <summary>
        /// MVC appliction start event
        /// </summary>
        protected void Application_Start()
        {
            // Register areas and routes
            AreaRegistration.RegisterAllAreas();

            UMClientConfig.Register();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            WebApiConfig.Register(GlobalConfiguration.Configuration);

            // Register global filters
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

            // Register scripts and css bundles
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // Register unity configuration
            BootstrapConfig.Register();

            //Register providers
            ProvidersConfig.Register();

            // Register custom flag enum model binder
            ModelBinders.Binders.DefaultBinder = new CustomModelBinder();

            AsyncManagerConfig.Register();

            ActiveSessionManager.StartTimer(spanTicks: TimeSpan.FromHours(6).Ticks); // token expire time is 6 hours
        }
Ejemplo n.º 2
0
        /// <summary>
        /// MVC appliction start event
        /// </summary>
        protected void Application_Start()
        {
            // Register areas and routes
            AreaRegistration.RegisterAllAreas();

            UMClientConfig.Register();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            WebApiConfig.Register(GlobalConfiguration.Configuration);

            // Register global filters
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

            // Register scripts and css bundles
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // Register unity configuration
            BootstrapConfig.Register();

            //Register providers
            ProvidersConfig.Register();

            // Register custom flag enum model binder
            ModelBinders.Binders.DefaultBinder = new CustomModelBinder();

            AsyncManagerConfig.Register();
        }
Ejemplo n.º 3
0
 static Configurations()
 {
     _adminUI = new AdminUIConfig();
     _providers = new ProvidersConfig();
     _pages = new PagesConfig();
     _webData = new WebDataConfig();
     _authentication = new AuthenticationConfig();
     _imageCompressor = new ImageCompressorConfig();
     _autoUpdate = new AutoUpdateConfig();
     _logSystem = new LogSystemConfig();
     _netProxy = new NetProxyConfig();
     _userOptions = new UserOptionsConfig();
     _userAccessControlConfig = new UserAccessControlConfig();
     ReadSettings();
 }
Ejemplo n.º 4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddAutoMapper();
            AutoMapperConfig.RegisterMappings();

            services.AddMvc().AddJsonOptions(opt =>
            {
                opt.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
            }).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            services.AddMediatR();
            services.AddCors();
            services.AddIdentityServer()
            // Only Environments without certificate
            .AddDeveloperSigningCredential()
            //.LoadCertificate(Configuration.GetSection("ThumbPrint").Value)
            .AddMongoRepository()
            .AddClients()
            .AddIdentityApiResources()
            .AddPersistedGrants()
            .AddProfileService <CustomProfileService>();
            //.AddCustomTokenRequestValidator<CustomTokenValidator>();

            var providersConfig = new ProvidersConfig();

            Configuration.Bind("Providers", providersConfig);

            services.AddAuthentication()
            .AddProvidersByConfig(providersConfig);

            services.AddApiVersioning(options =>
            {
                options.AssumeDefaultVersionWhenUnspecified = true;
                options.ReportApiVersions = true;
                options.ApiVersionReader  = new MediaTypeApiVersionReader();
                options.DefaultApiVersion = new ApiVersion(1, 0);
                options.UseApiBehavior    = false;
            }).AddSwaggerGen(c =>
            {
                // Mount Swagger API Spec
                apiVersions.ToList().ForEach(version => c.SwaggerDoc(version, new Info {
                    Title = apiName, Version = version
                }));

                c.OperationFilter <ApiVersionOperationFilter>();
                c.DocInclusionPredicate((docName, apiDesc) =>
                {
                    var actionApiVersionModel = apiDesc.ActionDescriptor?.GetApiVersion();
                    // would mean this action is unversioned and should be included everywhere
                    if (actionApiVersionModel == null)
                    {
                        return(true);
                    }
                    if (actionApiVersionModel.DeclaredApiVersions.Any())
                    {
                        return(actionApiVersionModel.DeclaredApiVersions.Any(v => $"v{v.ToString()}" == docName));
                    }
                    return(actionApiVersionModel.ImplementedApiVersions.Any(v => $"v{v.ToString()}" == docName));
                });
            });

            services.AddSingleton <ICorsPolicyService, CorsPolicyService>();

            var builder = new ContainerBuilder();

            builder.Populate(services);
            builder.RegisterModule(new DependencyInjectionResolver());
            var container = builder.Build();

            // Create the IServiceProvider based on the container.
            return(new AutofacServiceProvider(container));
        }