Program.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Microsoft.EntityFrameworkCore;
  2. using Microsoft.Extensions.Configuration;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Microsoft.Extensions.Hosting;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Runtime.InteropServices;
  9. using System.Threading.Tasks;
  10. using WCS.Entity.Protocol;
  11. namespace WCS.Service
  12. {
  13. public class Program
  14. {
  15. public static void Main(string[] args)
  16. {
  17. CreateHostBuilder(args).Build().Run();
  18. }
  19. public static IHostBuilder CreateHostBuilder(string[] args)
  20. {
  21. //ÊÇ·ñÊÇwinƽ̨
  22. bool isWin = RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
  23. Console.WriteLine($"win:{isWin}");
  24. if (isWin)
  25. {
  26. return Host.CreateDefaultBuilder(args)
  27. .UseWindowsService()//win
  28. .ConfigureServices((hostContext, services) =>
  29. {
  30. services.AddDbContext<WCSDB>();
  31. services.AddHostedService<Worker>();
  32. });
  33. }
  34. return Host.CreateDefaultBuilder(args)
  35. .UseSystemd()//linux
  36. .ConfigureServices((hostContext, services) =>
  37. {
  38. services.AddHostedService<Worker>();
  39. });
  40. }
  41. }
  42. }