HostLifeTime.cs 937 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Microsoft.Extensions.Hosting;
  2. using SqlSugar;
  3. namespace EEMSServerCore;
  4. internal class HostLifeTime(IEEMSBaseServerProvider provider, SqlSugarCustom orm, DeviceManager deviceManager) : IHostedService
  5. {
  6. public Task StartAsync(CancellationToken cancellationToken)
  7. {
  8. orm.Initialize();
  9. if (!orm.Open(EEMSCenterConfig.DBString, DbType.PostgreSQL, true))
  10. {
  11. MessageBox.Show("Connect to DataBase Failed");
  12. Application.Current.Shutdown();
  13. }
  14. orm.CreateTable<DeviceInfo>(EEMSCenterConfig.DeviceTableName);
  15. if (!deviceManager.Initialize())
  16. {
  17. MessageBox.Show("DeviceManager Initialize Failed");
  18. Application.Current.Shutdown();
  19. }
  20. provider.Started();
  21. return Task.CompletedTask;
  22. }
  23. public Task StopAsync(CancellationToken cancellationToken)
  24. {
  25. return Task.CompletedTask;
  26. }
  27. }