wcs_server_kate_suzhou/WcsMain/StartAction/HostService.cs

74 lines
2.2 KiB
C#
Raw Permalink Normal View History

using WcsMain.Common;
namespace WcsMain.StartAction;
/// <summary>
/// 一个类,用于触发启动关闭事件
/// </summary>
public class HostService(ServiceStart serverStart) : IHostedLifecycleService
{
public Task StartAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
public Task StartingAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
public Task StartedAsync(CancellationToken cancellationToken)
{
return Task.Run(() =>
{
serverStart.LoadingData(); // 加载必要参数
string? loadingResult = LoadingRunningData.GetResult();
if (!string.IsNullOrEmpty(loadingResult))
{
ConsoleLog.Error($"【异常】启动加载运行文件出错WCS功能受到限制您可以检查网络连接后重新启动或者联系我们参考信息{loadingResult}");
return;
}
ConsoleLog.Info("WCS服务启动中请稍后...");
var apiOnly = CommonData.Settings.ApplicationConfig.ApiOnly;
if (apiOnly == null)
{
ConsoleLog.Error("【异常】配置文件加载失败WCS 启动失败");
return;
}
if ((bool)apiOnly)
{
ConsoleLog.Warning("【警告】当前运行在 【仅 API】 模式下");
}
else
{
serverStart.Start();
}
ConsoleLog.Success("WCS服务启动完成");
}, cancellationToken);
}
/// <summary>
/// 关闭事件
/// </summary>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public Task StopAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
public Task StoppedAsync(CancellationToken cancellationToken)
{
return Task.Run(() =>
{
ConsoleLog.Info("WCS服务已经关闭");
}, cancellationToken);
}
public Task StoppingAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
2024-05-14 16:30:56 +08:00
}