/// <summary> /// Creates an app with an in-memory configuration using the list of provided modules. /// </summary> /// <param name="modules">The modules to load inside the application.</param> /// <returns>The created application.</returns> public static IApp CreateTestApp(params Type[] modules) { var manager = new MemoryConfigManager(); var config = manager.Get<AppConfig>(); foreach (var module in modules) { config.Modules.Add(ModuleConfigElement.Create(module)); } return App.Create(manager); }
public static void Main(string[] args) { var stopwatch = Stopwatch.StartNew(); var configManager = new MemoryConfigManager(); if (configManager.Get<AppConfig>().Modules.Count == 0) configManager.Get<AppConfig>().Modules.Add(ModuleConfigElement.Create<ConfigInitializerModule>()); var app = App.Create(configManager); app.Start(); try { Program.Run(app); } catch (Exception ex) { app.GetLog().Error("The application has stopped because of an error!", ex); } finally { app.Stop(); Console.WriteLine("Executed in: {0} seconds.", stopwatch.Elapsed.TotalSeconds); } }