public Task StopAsync(CancellationToken cancellationToken) { _diagnosticsManager.Stop(); Status = HostedServiceStatus.Stopped; return(Task.CompletedTask); }
/// <summary> /// 获取当前服务的执行状态名称 /// </summary> protected void UpdateServiceStatus(HostedServiceStatus serviceStatus, bool hasError = false) { if (serviceStatus == HostedServiceStatus) { return; } this.HostedServiceStatus = serviceStatus; string statusName; Color statusColor; string buttonText; bool buttonEnabled; switch (serviceStatus) { case HostedServiceStatus.Stopped: if (hasError) { statusName = "已停止,有错误"; statusColor = Color.Red; } else { statusName = "已停止"; statusColor = Color.Black; } buttonText = "启动"; buttonEnabled = true; break; case HostedServiceStatus.Starting: statusName = "正在启动"; statusColor = Color.LimeGreen; buttonText = "启动"; buttonEnabled = false; break; case HostedServiceStatus.Running: statusName = "正在运行"; statusColor = Color.Green; buttonText = "停止"; buttonEnabled = true; break; case HostedServiceStatus.Stopping: statusName = "正在停止"; statusColor = Color.DarkGray; buttonText = "停止"; buttonEnabled = false; break; default: statusName = "未知状态"; statusColor = Color.Yellow; buttonText = "未知"; buttonEnabled = false; break; } lStatus.Text = statusName; lStatus.ForeColor = statusColor; bOperation.Text = buttonText; bOperation.Enabled = buttonEnabled; logInfo(statusName); }
/// <summary> /// 获取当前服务的执行状态名称 /// </summary> protected void UpdateServiceStatus(HostedServiceStatus serviceStatus, bool hasError = false, string errorMessage = null) { if (serviceStatus == HostedServiceStatus) { return; } this.HostedServiceStatus = serviceStatus; string statusName; Brush statusColor; string buttonText; bool buttonEnabled; string statusTooltip; switch (serviceStatus) { case HostedServiceStatus.Stopped: if (hasError) { statusName = "已停止,有错误"; statusTooltip = errorMessage; statusColor = Brushes.Red; } else { statusName = "已停止"; statusColor = Brushes.Black; statusTooltip = null; } buttonText = "启动"; buttonEnabled = true; break; case HostedServiceStatus.Starting: statusName = "正在启动"; statusColor = Brushes.LimeGreen; buttonText = "启动"; buttonEnabled = false; statusTooltip = null; break; case HostedServiceStatus.Running: statusName = "正在运行"; statusColor = Brushes.Green; buttonText = "停止"; buttonEnabled = true; statusTooltip = null; break; case HostedServiceStatus.Stopping: statusName = "正在停止"; statusColor = Brushes.DarkGray; buttonText = "停止"; buttonEnabled = false; statusTooltip = null; break; default: statusName = "未知状态"; statusColor = Brushes.Yellow; buttonText = "未知"; buttonEnabled = false; statusTooltip = null; break; } StatusText = statusName; StatusColor = statusColor; ButtonText = buttonText; ButtonEnabled = buttonEnabled; StatusToolTip = statusTooltip; logInfo(statusName); }
public InstrumentationService(DiagnosticManager diagnosticManager) { _diagnosticsManager = diagnosticManager ?? throw new ArgumentNullException(nameof(diagnosticManager)); Status = HostedServiceStatus.Created; }