Example #1
0
        static void Main(string[] args)
        {
            try
            {
                JobApplication app = new JobApplication(new HpScheduleOptions()
                {
                    Debug   = true,
                    Log4net = AppUtil.GetPath() + "\\..\\..\\log4net.config",
                    Config  = AppUtil.GetPath() + "\\..\\..\\config.json"
                });

                var dispatcher_center_callback = ConfigurationCenter.getValue("dispatcher_center_callback");

                app.start(dispatcher_center_callback,
                          new Demo(ConfigurationCenter.getValue("rabbitmq_url"), "dev_demo")
                          );

                Console.ReadLine();

                app.stop();
            }
            catch (Exception e)
            {
                Log.f("启动失败", e);
            }
        }
        public JobApplication(HpScheduleOptions options = null)
        {
            if (options == null)
            {
                options = new HpScheduleOptions();
            }

            //初始化日志
            if (options.Nlog)
            {
                //Log.config(options.Log4net);

                Loging.setLogType(EnumLoging.LogConsole);
                //简单格式的Log
                // if (options.Debug) Log.SimpleFormat = true;
            }

            //初始化配置
            if (!string.IsNullOrEmpty(options.Config))
            {
                ConfigurationCenter.addConfigurationImpl(new JsonConfiguration(options.Config));

                if (!ConfigurationCenter.load())
                {
                    throw new Exception("加载配置文件失败");
                }
            }
        }
Example #3
0
        static void Main(string[] args)
        {
            JobApplication app = new JobApplication(new HpScheduleOptions()
            {
                Debug  = true,
                Nlog   = true,
                Config = "config.json"
            });

            var dispatcher_center_callback = ConfigurationCenter.getValue("dispatcher_center_callback");

            app.start(dispatcher_center_callback,
                      new Demo(ConfigurationCenter.getValue("rabbitmq_url"), "dev_demo")
                      //  new Demo(ConfigurationCenter.getValue("rabbitmq_url"), "dev_demo")
                      );

            Console.ReadLine();

            app.stop();
        }
Example #4
0
        public static IAppBuilder InitializeAll(this IAppBuilder builder)
        {
            ConfigurationCenter.Initialize();
            CacheManager.Initialize();

            builder = builder.UseExceptionHandler();

            //application.RegisterGeneralControllers(RouteTable.Routes);

            //GlobalFilters.Filters.Add(new CompressFilter());

            //bool enableActionDiagnoseFilter = bool.Parse(WebConfigurationManager.AppSettings["EnableActionDiagnoseFilter"] ?? bool.FalseString);
            //if (enableActionDiagnoseFilter)
            //{
            //    GlobalFilters.Filters.Add(new ActionDiagnoseFilter());
            //}

            //bool enableActionLogFilter = bool.Parse(WebConfigurationManager.AppSettings["EnableActionLogFilter"] ?? bool.FalseString);
            //if (enableActionLogFilter)
            //{
            //    GlobalFilters.Filters.Add(new ActionLogFilter());
            //}

            bool requestTrack = bool.Parse(ConfigurationCenter.Local["RequestTracker"] ?? bool.FalseString);

            if (requestTrack)
            {
                builder.Use <RequestTrackerMiddleware>();
            }

            //bool responseCompression = bool.Parse(ConfigurationCenter.Local["ResponseCompression"] ?? bool.TrueString);
            //if (responseCompression)
            //{
            //    builder.Use<StaticCompressionMiddleware>(new StaticCompressionOptions());
            //}

            builder = builder.UseStageMarker(PipelineStage.Authenticate);

            return(builder);
        }
Example #5
0
        public static void InitializeAll(this HttpApplication application)
        {
            application.RegisterGlobalExceptionHandler();
            GlobalConfiguration.Configuration.Filters.Add(new WebApiGlobalExceptionFilterAttribute());

            ConfigurationCenter.Initialize(true, HttpContext.Current.Server.MapPath("~"));
            application.RegisterGeneralControllers(RouteTable.Routes);
            CacheManager.Initialize(new AspNetCacheContainer(HttpContext.Current.Cache));

            GlobalFilters.Filters.Add(new CompressFilter());

            bool enableActionDiagnoseFilter = bool.Parse(ConfigurationCenter.Global["EnableActionDiagnoseFilter"] ?? bool.FalseString);

            if (enableActionDiagnoseFilter)
            {
                GlobalFilters.Filters.Add(new ActionDiagnoseFilter());
            }

            bool enableActionLogFilter = bool.Parse(ConfigurationCenter.Global["EnableActionLogFilter"] ?? bool.FalseString);

            if (enableActionLogFilter)
            {
                GlobalFilters.Filters.Add(new ActionLogFilter());
            }

            bool requestTrack = bool.Parse(ConfigurationCenter.Global["RequestTracker"] ?? bool.FalseString);

            if (requestTrack)
            {
                GlobalFilters.Filters.Add(new RequestTrackerFilter());
                GlobalConfiguration.Configuration.Filters.Add(new WebApiRequestTrackerFilter());
            }

            bool baiduYunGuanCe = bool.Parse(ConfigurationCenter.Global["EnableBaiduYunGuanCeFilter"] ?? bool.FalseString);

            if (baiduYunGuanCe)
            {
                GlobalFilters.Filters.Add(new BaiduYunguanceFilter());
            }

            bool apiProxy = bool.Parse(ConfigurationCenter.Global["ApiProxy"] ?? bool.FalseString);

            if (apiProxy)
            {
                ApiProxyController.Enabled = true;
            }

            bool ignoreSSLValidation = bool.Parse(ConfigurationCenter.Global["IgnoreServerCertificateValidation"] ?? bool.TrueString);

            if (ignoreSSLValidation)
            {
                ServicePointManager.ServerCertificateValidationCallback += (mender, certificate, chain, sslPolicyErrors) => true;
            }

            s_allowOrigins = (ConfigurationCenter.Global["AllowOrigins"] ?? "")
                             .Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)
                             .Select(t => t.Trim())
                             .Where(t => t != string.Empty)
                             .ToList();
            s_allowMethods = (ConfigurationCenter.Global["AllowMethods"] ?? "GET,POST,PUT,PATCH,CREATE,DELETE,OPTIONS");
            s_allowHeaders = (ConfigurationCenter.Global["AllowHeaders"] ?? "AccessToken,Content-Type,Accept");

            if (s_allowOrigins.Any())
            {
                var corsFilter = new CorsFilter()
                {
                    AllowAnyOrigin = s_allowOrigins.Any(t => t == "*"),
                    AllowOrigins   = s_allowOrigins,
                    AllowMethods   = s_allowMethods,
                    AllowHeaders   = s_allowHeaders,
                };
                GlobalFilters.Filters.Add(corsFilter);

                var webApiCorsFilter = new WebApiCorsFilter()
                {
                    AllowAnyOrigin = s_allowOrigins.Any(t => t == "*"),
                    AllowOrigins   = s_allowOrigins,
                    AllowMethods   = s_allowMethods,
                    AllowHeaders   = s_allowHeaders,
                };
                GlobalConfiguration.Configuration.Filters.Add(webApiCorsFilter);
            }
        }