Program.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using EVCB_OCPP.DBAPI;
  2. using EVCB_OCPP.DBAPI.Jobs;
  3. using EVCB_OCPP.DBAPI.Services;
  4. using EVCB_OCPP.DBAPI.Services.DbService;
  5. using EVCB_OCPP.DBAPI.Services.ServerMessageServices;
  6. using EVCB_OCPP.Domain.Extensions;
  7. using NLog.Extensions.Logging;
  8. using NLog.Web;
  9. using ServiceStack.Redis;
  10. using SQLitePCL;
  11. raw.SetProvider(new SQLite3Provider_e_sqlite3());
  12. var builder = Host.CreateDefaultBuilder(args)
  13. .ConfigureLogging((context, loggingBuilder) => {
  14. loggingBuilder.ClearProviders();
  15. NLog.LogManager.Configuration = new NLogLoggingConfiguration(context.Configuration.GetSection("NLog"));
  16. })
  17. .UseNLog()
  18. .ConfigureWebHostDefaults(webBuilder =>
  19. {
  20. webBuilder.UseStartup<Startup>();
  21. webBuilder.ConfigureKestrel(serverOptions =>
  22. {
  23. serverOptions.Limits.MaxRequestBodySize = null;
  24. });
  25. })
  26. .ConfigureServices((context, services) => {
  27. services.AddSingleton<IRedisClientsManager>(new RedisManagerPool(context.Configuration["RedisConnectionString"]));
  28. services.AddJobs();
  29. services.AddMainDbContext(context.Configuration);
  30. services.AddTransient<IMainDbService, MainDbService>();
  31. services.AddTransient<IServerMessageService, SourceDbServerMessageService>();
  32. services.AddMemDbService();
  33. });
  34. var app = builder.Build();
  35. await app.RunAsync();