using System; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Serilog; using Win.Sfs.SettleAccount.influxdb; namespace Win.Sfs.SettleAccount; public class Program { public static int Main(string[] args) { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true) .Build(); try { new InfluxHelper(configuration).Start(); } catch (Exception ex) { Console.Write("时序数据库启动失败"); Console.Write(ex.ToString()); //throw; } Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .WriteTo.Async(c => c.Console()) .CreateLogger(); try { Log.Information("Starting web host."); CreateHostBuilder(args).Build().Run(); return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly!"); return 1; } finally { Log.CloseAndFlush(); } } internal static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.ConfigureKestrel((context, options) => { //设置应用服务器Kestrel请求体最大为50MB options.Limits.MaxRequestBodySize = long.MaxValue; options.Limits.MaxRequestBufferSize = long.MaxValue; options.Limits.MaxRequestLineSize = int.MaxValue; options.Limits.KeepAliveTimeout= TimeSpan.MaxValue; }); webBuilder.UseStartup(); }) .UseAutofac() .UseSerilog(); }