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,20 +86,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole
86 { 86 {
87 ColorConsole.Write($"Win service:"); 87 ColorConsole.Write($"Win service:");
88 ColorConsole.Write($"{ws.Name}", ConsoleColor.Cyan); 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 ColorConsole.Write($"("); 94 ColorConsole.Write($"(");
91 ColorConsole.Write($"{ws.Status}", fc2); 95 ColorConsole.Write($"{ws.Status}", fc2);
92 var fc0 = 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 : ConsoleColor.Yellow; 100 : ConsoleColor.Yellow;
97 ColorConsole.Write($" / "); 101 ColorConsole.Write($" / ");
98 ColorConsole.Write($"{ws.State}", fc0); 102 ColorConsole.Write($"{ws.State}", fc0);
99 ColorConsole.Write($")"); 103 ColorConsole.Write($")");
100 ColorConsole.Write($", StartMode:"); 104 ColorConsole.Write($", StartMode:");
101 ColorConsole.Write($"{ws.StartMode}", ConsoleColor.Cyan); 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 ColorConsole.Write($", Priority:"); 108 ColorConsole.Write($", Priority:");
105 ColorConsole.Write($"{ws.PriorityClass}", ConsoleColor.White); 109 ColorConsole.Write($"{ws.PriorityClass}", ConsoleColor.White);
@@ -140,6 +144,33 @@ namespace Vrh.Log4Pro.MaintenanceConsole @@ -140,6 +144,33 @@ namespace Vrh.Log4Pro.MaintenanceConsole
140 } 144 }
141 return null; 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 #endregion private method: DisplayServiceInfo 174 #endregion private method: DisplayServiceInfo
144 175
145 #region private CollectWindowsServiceInfo 176 #region private CollectWindowsServiceInfo
@@ -159,8 +190,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole @@ -159,8 +190,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole
159 ws.ServicesDependOnThis = new string[] { "???" }; 190 ws.ServicesDependOnThis = new string[] { "???" };
160 ws.PathName = $"\"{ws.Xml_Exe}\" {ws.Xml_Arguments}"; 191 ws.PathName = $"\"{ws.Xml_Exe}\" {ws.Xml_Arguments}";
161 ws.StartMode = ws.Xml_StartMode; 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 if (ws.Xml_IdentityType== ServiceAccount.User) { ws.StartName = ws.Xml_Username + $"({ws.Xml_Password})"; } 195 if (ws.Xml_IdentityType== ServiceAccount.User) { ws.StartName = ws.Xml_Username + $"({ws.Xml_Password})"; }
165 else { ws.StartName = ws.Xml_IdentityType.ToString(); } 196 else { ws.StartName = ws.Xml_IdentityType.ToString(); }
166 ws.ProcessId = 0; 197 ws.ProcessId = 0;
@@ -188,7 +219,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole @@ -188,7 +219,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole
188 ws.StartName = (string)wmiService[nameof(WindowsService.StartName)]; 219 ws.StartName = (string)wmiService[nameof(WindowsService.StartName)];
189 ws.ProcessId = 0; 220 ws.ProcessId = 0;
190 ws.PriorityClass = "-"; 221 ws.PriorityClass = "-";
191 - if (ws.State != nameof(ObjectState.Stopped)) 222 + if (ws.State != nameof(WmiServiceState.Stopped))
192 { 223 {
193 ws.ProcessId = Convert.ToInt32(wmiService[nameof(WindowsService.ProcessId)]); 224 ws.ProcessId = Convert.ToInt32(wmiService[nameof(WindowsService.ProcessId)]);
194 ws.PriorityClass = Process.GetProcessById(ws.ProcessId).PriorityClass.ToString(); 225 ws.PriorityClass = Process.GetProcessById(ws.ProcessId).PriorityClass.ToString();