static void Main(string[] args) { EnvSettings.Initialize(); var Watcher = new TargetWatcher(EnvSettings.Env.SOURCE_DIRECTORY); Watcher.Run(); Console.ReadKey(); }
/// <summary> /// Main method triggered at startup. /// </summary> static void Main(string[] args) { try { // Get env settings file URL string envSettingsString = _httpClient.GetStringAsync(Environment.GetEnvironmentVariable("ENV_SETTINGS_URL")).ContinueWith((r) => { return(r.Result); }).Result; _envSettings = JsonConvert.DeserializeObject <EnvSettings>(envSettingsString); Console.WriteLine($"Retrieved env settings successfully"); // Initialize logger var logLevelProperty = _envSettings.Properties.Where(x => x.Name == "LogLevel").FirstOrDefault(); if (logLevelProperty == null) { throw new Exception("Unable to find LogLevel property in env settings"); } Console.WriteLine($"Setting log level to {logLevelProperty.Value}"); var logLevel = (LogLevel)Enum.Parse(typeof(LogLevel), logLevelProperty.Value, true); var consoleLoggerConfiguration = new ConsoleLoggerConfiguration(logLevel: logLevel); _loggerFactory = ConsoleLoggerExtensions.AddConsoleLogger(new LoggerFactory(), consoleLoggerConfiguration); _consoleLogger = _loggerFactory.CreateLogger <ConsoleLogger>(); _consoleLogger.LogInformation("Kicking off Main method"); // Use Timer trigger instead var timerIntervalProperty = _envSettings.Properties.Where(x => x.Name == "TimerIntervalInSeconds").FirstOrDefault(); if (timerIntervalProperty == null) { throw new Exception("Unable to find TimerIntervalInSeconds in env settings"); } SetTimer(Convert.ToInt32(timerIntervalProperty.Value) * 1000); // Initialize module client InitializeModuleClient().Wait(); // Wait until the app unloads or is cancelled var cts = new CancellationTokenSource(); AssemblyLoadContext.Default.Unloading += (ctx) => cts.Cancel(); Console.CancelKeyPress += (sender, cpe) => cts.Cancel(); WhenCancelled(cts.Token).Wait(); } catch (Exception e) { Console.WriteLine($"Main caught an exception: {e}"); } }
private void BuildContainer(EnvSettings settings) { // container var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Assembly); builder.Register(i => new CrmConnectionPool(settings.ConnectionString) { MaxConnections = 4 }).SingleInstance(); builder.RegisterType <CrmOrganizationServiceFromPool>().As <IOrganizationService>().InstancePerRequest(); // Set the dependency resolver to be Autofac. var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
public AppSettings() { _settings = new NameValueCollection(ConfigurationManager.AppSettings); var missing = Values.FirstOrDefault(kvp => kvp.Value.ToUpper().Trim() == "#TBD"); if(missing.Key != null) { throw new ConfigurationErrorsException( "Missing required configuration value {0}".FormatFrom(missing.Key)); } _settings = _settings.ExpandTokens(); Server = new ServerSettings(_settings); Git = new GitSettings(_settings); Env = new EnvSettings(_settings); Smtp = new SmtpSettings(_settings); }
public LocalDebugMailService(EnvSettings envSettings) { fromAddress = envSettings.MailFromAddress; }
public LogMailService(EnvSettings envSettings, ILogger <LogMailService> logger) { _fromAddress = envSettings.MailFromAddress; _logger = logger; }
public static void RegisterInfrastructureModule(this IServiceCollection services, EnvSettings settings) { services.AddSingleton <IClock, Clock>(); services.AddDbContext <BonbonniereContext>(o => //o.UseSqlServer(settings.BonbonniereConnection, b => b.MigrationsAssembly("Bonbonniere.Data"))); o.UseInMemoryDatabase("BonbonniereInMemory")); services.AddDbContext <ThirdPartyContext>(o => //o.UseSqlServer(settings.ThirdPartyConnection, b => b.MigrationsAssembly("Bonbonniere.Data"))); o.UseInMemoryDatabase("ThirdPartyInMemory")); }