wcs_server_kate_suzhou/WcsMain/StartAction/HostService.cs

74 lines
2.1 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}