예제 #1
0
        public void Start()
        {
            lock (_lockObject)
            {
                if (_started)
                {
                    return;
                }
                _started = true;

                HostingEnvironment.RegisterObject(this);

                var connectionString = ConfigurationManager.ConnectionStrings["license"].ConnectionString;
                Hangfire.GlobalConfiguration.Configuration.UseAutofacActivator(
                    DependencyResolverInitializer.ResolveHangfireDependencies(Assembly.GetExecutingAssembly(), connectionString));

                Hangfire.GlobalConfiguration.Configuration.UseSqlServerStorage("hangfire",
                                                                               new SqlServerStorageOptions {
                    QueuePollInterval = TimeSpan.FromSeconds(1)
                });

                var options = new BackgroundJobServerOptions
                {
                    Queues      = new[] { "critical", "default" },
                    WorkerCount = 1
                };

                _backgroundJobServer = new BackgroundJobServer(options);
            }
        }
예제 #2
0
        protected void Application_Start()
        {
            // Init Aspose.Words license
            var license = new Aspose.Words.License();

            license.SetLicense("Aspose.Words.lic");


            log4net.Config.XmlConfigurator.Configure();
            DependencyResolverInitializer.Initialize();

            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            RegisterGlobalFilters(GlobalFilters.Filters);
            //GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());

            //RegisterRoutes(RouteTable.Routes);

            ModelBinders.Binders.DefaultBinder = new SharpModelBinder();
            ModelBinders.Binders.Add(typeof(Money), new MoneyBinder());
        }
예제 #3
0
        public void Configuration(IAppBuilder app)
        {
            var config = new HttpConfiguration();

            config.EnableSwagger("docs/{apiVersion}", c =>
            {
                c.RootUrl(req => req.RequestUri.GetLeftPart(UriPartial.Authority) + req.GetRequestContext().VirtualPathRoot.TrimEnd('/'));
                c.SingleApiVersion("v1", "Hermes Online API");
                c.OperationFilter <AuthorizationHeaderParameterOperationFilter>();
            }).EnableSwaggerUi();

            var connectionString = ConfigurationManager.ConnectionStrings["license"].ConnectionString;

            DependencyResolverInitializer.ResolveWebApiSpaDependencies(GetType().Assembly, config, app, connectionString);

            ConfigureOAuth(app);

            WebApiConfig.Register(config);
            app.UseCors(CorsOptions.AllowAll);
            app.UseWebApi(config);

            HangfireManager.Instance.Start();
            app.UseHangfireServer();
            HangfireManager.Instance.SetupBackgroundJobs(config);
        }
예제 #4
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            DependencyResolverInitializer.Initialize(Assembly.GetExecutingAssembly());
        }
        protected void Application_Start()
        {
            log4net.Config.XmlConfigurator.Configure();

            AreaRegistration.RegisterAllAreas();
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
            DependencyResolverInitializer.Initialize();

            ModelBinders.Binders.DefaultBinder = new SharpModelBinder();
        }
예제 #6
0
        protected void Application_Start()
        {
            log4net.Config.XmlConfigurator.Configure();

            AreaRegistration.RegisterAllAreas();
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            DependencyResolverInitializer.Initialize();

            ModelBinders.Binders.DefaultBinder = new SharpModelBinder();
            //ModelBinders.Binders.Add(typeof(User), new UserModelBinder(new Repository<User>()));
            //ModelBinders.Binders.Add(typeof(Money), new MoneyBinder());
        }
예제 #7
0
        protected void Application_Start()
        {
            log4net.Config.XmlConfigurator.Configure();

            AreaRegistration.RegisterAllAreas();
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            DependencyResolverInitializer.Initialize();
            // Since ContextRegistry requires an HTTP context, I want it to live in the web project.
            // But since CaTS.Init can't have a bi-directional dependency back to CaTS.Web, we need to pass the dependency.
            DependencyResolverInitializer.AddDependency(typeof(IContextRegistry), typeof(ContextRegistry));

            ModelBinders.Binders.DefaultBinder = new SharpModelBinder();
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler(appBuilder =>
                {
                    appBuilder.Run(async context =>
                    {
                        context.Response.StatusCode = 500;
                        await context.Response.WriteAsync("The Chris.Personnel.Management.API program Error!");
                    });
                });
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            //允许跨域(顺序很重要, 必须放在UseAuthentication和UseAuthorization的前面)
            app.UseCors("Open");

            // 先开启认证
            app.UseAuthentication();

            // 然后是授权中间件
            app.UseAuthorization();

            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "Chris.Personnel.Management.API V1");
                options.RoutePrefix = "";
                options.OAuthClientId("swagger client");   //客服端名称
                options.OAuthAppName("Swagger UI client"); // 描述
            });

            //获取Autofac:Container
            DependencyResolverInitializer.Initialize(app.ApplicationServices.GetAutofacRoot());

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            var webAssembly       = typeof(MvcApplication).Assembly;
            var relatedAssemblies = new List <Assembly> {
                typeof(CoreModule).Assembly
            };

            DependencyResolverInitializer.Initialize(webAssembly, relatedAssemblies);

            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
예제 #10
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new FeatureBasedViewEngine());

            DependencyResolverInitializer.Initialize();

            ModelBinders.Binders.DefaultBinder = new SharpModelBinder();
            // Custom types, add binders as follows
            //ModelBinders.Binders.Add(typeof(Money), new MoneyBinder());
        }