Commit 0b366b5a45ffb2cfaf1194eec4455a88b4cd9bf6

Authored by Schwirg László
1 parent c0dd7bdf

WindowsServiceManager: állapotnevek javítása

Showing 1 changed file with 39 additions and 8 deletions   Show diff stats
Vrh.Log4Pro.MaintenanceConsole/WindowsServiceManager.cs
... ... @@ -86,20 +86,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole
86 86 {
87 87 ColorConsole.Write($"Win service:");
88 88 ColorConsole.Write($"{ws.Name}", ConsoleColor.Cyan);
89   - var fc2 = ws.Status.Contains("Unregistered") ? ConsoleColor.Red : ConsoleColor.Green;
  89 + var fc2 =
  90 + ws.Status.Contains(nameof(WmiServiceStatus.OK)) ? ConsoleColor.Green
  91 + : ws.Status.Contains(nameof(WmiServiceStatus.Unknown)) ? ConsoleColor.Red
  92 + : ws.Status.Contains(nameof(WmiServiceStatus.Error)) ? ConsoleColor.Red
  93 + : ConsoleColor.Yellow;
90 94 ColorConsole.Write($"(");
91 95 ColorConsole.Write($"{ws.Status}", fc2);
92 96 var fc0 =
93   - ws.State.Contains("Started") ? ConsoleColor.Green
94   - : ws.State.Contains("Stopped") ? ConsoleColor.Red
95   - : ws.State.Contains("Unregistered") ? ConsoleColor.Red
  97 + ws.State.Contains(nameof(WmiServiceState.Running)) ? ConsoleColor.Green
  98 + : ws.State.Contains(nameof(WmiServiceState.Unknown)) ? ConsoleColor.Red
  99 + : ws.State.Contains(nameof(WmiServiceState.Unregistered)) ? ConsoleColor.Red
96 100 : ConsoleColor.Yellow;
97 101 ColorConsole.Write($" / ");
98 102 ColorConsole.Write($"{ws.State}", fc0);
99 103 ColorConsole.Write($")");
100 104 ColorConsole.Write($", StartMode:");
101 105 ColorConsole.Write($"{ws.StartMode}", ConsoleColor.Cyan);
102   - if(ws.Status=="OK" && ws.State != nameof(ObjectState.Stopped) && ws.State != nameof(ObjectState.Unknown))
  106 + if(ws.Status==nameof(WmiServiceStatus.OK) && ws.State != nameof(WmiServiceState.Stopped) && ws.State != nameof(WmiServiceState.Unknown))
103 107 {
104 108 ColorConsole.Write($", Priority:");
105 109 ColorConsole.Write($"{ws.PriorityClass}", ConsoleColor.White);
... ... @@ -140,6 +144,33 @@ namespace Vrh.Log4Pro.MaintenanceConsole
140 144 }
141 145 return null;
142 146 }
  147 + private enum WmiServiceState
  148 + {
  149 + StartPending,
  150 + Running,
  151 + Paused,
  152 + PausedPending,
  153 + Stopped,
  154 + StopPending,
  155 + Unknown,
  156 + Unregistered,
  157 + }
  158 + private enum WmiServiceStatus
  159 + {
  160 + OK,
  161 + Error,
  162 + Degraded,
  163 + Unknown,
  164 + Pred_Fail,
  165 + Starting,
  166 + Stopping,
  167 + Service,
  168 + Stressed,
  169 + NonRecover,
  170 + No_Contact,
  171 + Lost_Comm,
  172 + Unregistered,
  173 + }
143 174 #endregion private method: DisplayServiceInfo
144 175  
145 176 #region private CollectWindowsServiceInfo
... ... @@ -159,8 +190,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole
159 190 ws.ServicesDependOnThis = new string[] { "???" };
160 191 ws.PathName = $"\"{ws.Xml_Exe}\" {ws.Xml_Arguments}";
161 192 ws.StartMode = ws.Xml_StartMode;
162   - ws.State = "Unregistered";
163   - ws.Status = "Unregistered";
  193 + ws.State = nameof(WmiServiceState.Unregistered);
  194 + ws.Status = nameof(WmiServiceStatus.Unregistered);
164 195 if (ws.Xml_IdentityType== ServiceAccount.User) { ws.StartName = ws.Xml_Username + $"({ws.Xml_Password})"; }
165 196 else { ws.StartName = ws.Xml_IdentityType.ToString(); }
166 197 ws.ProcessId = 0;
... ... @@ -188,7 +219,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole
188 219 ws.StartName = (string)wmiService[nameof(WindowsService.StartName)];
189 220 ws.ProcessId = 0;
190 221 ws.PriorityClass = "-";
191   - if (ws.State != nameof(ObjectState.Stopped))
  222 + if (ws.State != nameof(WmiServiceState.Stopped))
192 223 {
193 224 ws.ProcessId = Convert.ToInt32(wmiService[nameof(WindowsService.ProcessId)]);
194 225 ws.PriorityClass = Process.GetProcessById(ws.ProcessId).PriorityClass.ToString();
... ...