예제 #1
0
        public override bool OnStart()
        {
            try
            {
                // Set the maximum number of concurrent connections
                ServicePointManager.DefaultConnectionLimit = 12;

                // For information on handling configuration changes
                // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.

                var contextSettings = new ContextSettings
                {
                    CommandFactory = new AzureCommandFactory(AppType.Server)
                };

                Trace.TraceInformation("Command Factory Initialized");
                var configMode = RoleEnvironment.GetConfigurationSettingValue("konfdb.configuration.mode");
                if (configMode.Equals("azure", StringComparison.InvariantCultureIgnoreCase))
                {
                    Trace.TraceInformation("mode: Azure");
                    var config = LoadConfigurationFromAzureUI();
                    AzureContext.CreateFrom(config, contextSettings);
                }
                else
                {
                    Trace.TraceInformation("mode: File");
                    AzureContext.CreateFrom("konfdb.json", contextSettings);
                }

                CurrentContext.Default.Log.Info("KonfDBAH Started Successfully!");

                return(base.OnStart());
            }
            catch (Exception exception)
            {
                Trace.TraceError("OnStart Exception: " + exception);
            }

            return(false);
        }