Commit 0b366b5a45ffb2cfaf1194eec4455a88b4cd9bf6
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(); |