static void Main(string[] args)
        {
            string option = CheckArguments(args);

            arguments = new string[N_ARGS];
            //Initialize static environment configurator
            EnvironmentConfigurator.SetConfiguration();

            switch (option)
            {
            case "version":
                var assembly = System.Reflection.Assembly.GetExecutingAssembly();
                version = FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion;

                Console.WriteLine($"AzureStorageUtilities.PageToBlockMover.BatchWorker V{version}");
                break;

            case "online":
                if (ReadOnlineArguments(args[1]))
                {
                    MainExecution();
                }
                else
                {
                    LogUpdate("Unable to read configuration from the cloud. Terminating.");
                }
                break;

            default:    //direct
                SetArguments(args);
                MainExecution();
                break;
            }
        }
示例#2
0
        public void EnvironmentConfiguratorsShouldRespectAttributeOrderRegardlessOfRegistrationOrder()
        {
            EnvironmentConfiguration    configuration = new();
            ConfigurationInstanceHolder holder        = new();

            holder.AddInstance(configuration);
            holder.AddInstance(new Configurator3());
            holder.AddInstance(new Configurator2());
            holder.AddInstance(new Configurator1());

            EnvironmentConfigurator.ConfigureEnvironment(holder);

            configuration.ApplicationName.Should().Be("app 3");
        }
示例#3
0
 public static bool ValidateDataPath()
 {
     try
     {
         dataPath = EnvironmentConfigurator.DataFolder(conf.LocalTempPath);
         Directory.CreateDirectory(dataPath);
         return(true);
     }
     catch (Exception exc)
     {
         LogUpdate("Invalid local path. Program terminating. " + exc.Message);
         return(false);
     }
 }
示例#4
0
 private static void MainExecution(string[] args)
 {
     EnvironmentConfigurator.SetConfiguration();
     //Params
     try
     {
         Console.WriteLine("Page2Block batch creator started...");
         ReadArguments(args);
         Execute();
     }
     catch
     {
         ReportError("Invalid Parameters. Check http://warnov.com/@page2block for use instructions");
         End();
     }
 }
示例#5
0
        public static IContainer BuildContainer()
        {
            var services             = new ServiceCollection();
            var configurationBuilder = new ConfigurationBuilder();

            return(new ApplicationConfigurator <AppConfiguration>(null, (builder, appConfig) =>
            {
                services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
                builder.RegisterModule(new AutoregisterableModule(typeof(Startup).Assembly.GetName().Name));
                builder.RegisterModule(new ServicesModule(appConfig));
                builder.Populate(services);
                Directory.CreateDirectory(appConfig.InputPath);
                Directory.CreateDirectory(appConfig.OutputPath);
            }, configurationBuilder)
                   .AddEnvironmentVariables()
                   .AddJsonFile(EnvironmentConfigurator.GetEnvironmentName())
                   .Configure());
        }