Program.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. 
  2. using EVCB_OCPP.TaskScheduler.Helper;
  3. using EVCB_OCPP.TaskScheduler.Jobs;
  4. using EVCB_OCPP.TaskScheduler.Services;
  5. using Microsoft.Extensions.Configuration;
  6. using Microsoft.Extensions.DependencyInjection;
  7. using Microsoft.Extensions.Hosting;
  8. using Microsoft.Extensions.Logging;
  9. using NLog.Extensions.Logging;
  10. using NLog.Web;
  11. using Quartz;
  12. using Quartz.Impl;
  13. using System;
  14. using System.Collections.Generic;
  15. using System.Linq;
  16. using System.Text;
  17. using System.Threading.Tasks;
  18. namespace EVCB_OCPP.TaskScheduler
  19. {
  20. class Program
  21. {
  22. //static private NLog.ILogger logger = NLog.LogManager.GetCurrentClassLogger();
  23. private static void Main(string[] args)
  24. {
  25. Console.WriteLine("running....");
  26. IHost host = Host.CreateDefaultBuilder(args)
  27. .ConfigureLogging((context, builder) =>
  28. {
  29. builder.ClearProviders();
  30. NLog.LogManager.Configuration = new NLogLoggingConfiguration(context.Configuration.GetSection("NLog"));
  31. })
  32. .UseNLog()
  33. .ConfigureServices((context, services) => {
  34. services.AddMainDbContext(context.Configuration);
  35. services.AddOnlineLogDBContext(context.Configuration);
  36. services.AddTransient<ICustomerService, CommonCustomerService>();
  37. services.AddSingleton<ICustomersService, CustomersService>();
  38. services.AddSingleton<DatabaseService>();
  39. //services.AddTransient<OuterHttpClient>();
  40. services.AddTaskSchedulerQuartz(context.Configuration.GetSection("Jobs").Get<JobsConfig>());
  41. services.AddHostedService<TestService>();
  42. })
  43. .Build();
  44. host.Run();
  45. }
  46. }
  47. }