static void Main(string[] args) { //args = new string[] { "notistate", "2" }; var logger = LogManager.GetCurrentClassLogger(); try { IConfiguration settings = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build(); AppSetting.Configure(settings); var services = new ServiceCollection(); services.AddSingleton <ILogger>(logger); InitialService(services); var serviceProvider = services.BuildServiceProvider(); consoleServiceProvider = serviceProvider.GetService <IConsoleServiceProvider>(); if (args.Length > 0) { var args2 = args.Skip(1).ToArray(); var service = consoleServiceProvider.GetService(args[0]); service.Execute(args2); } else { Console.WriteLine("Commands:"); Console.WriteLine(consoleServiceProvider.GetHelpText()); } } catch (Exception ex) { logger.Error(ex, "Stopped program because of exception"); Console.WriteLine("Something went wrong"); //throw; } finally { // Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux) LogManager.Shutdown(); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { IConfiguration settings = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables().Build(); AppSetting.Configure(settings); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "ControlRoomWebAPI v1")); } app.UseHttpsRedirection(); var contextAccessor = app.ApplicationServices.GetRequiredService <IHttpContextAccessor>(); SessionData.Configure(() => { return(contextAccessor.HttpContext.Items); }); app.UseRouting(); app.UseMiddleware <JwtMiddleware>(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapHub <ControlPumpHub>("/ControlHub"); }); }