Commit 13749fa5b2fd38ca88aa8c669cc07f5caa8d3151

Authored by Schwirg László
1 parent 39efe02f

WebSite restart-ban egy hiba kijavítása

Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Menu.cs
... ... @@ -47,6 +47,13 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MenuNS
47 47 #endregion private fields
48 48  
49 49 #region public properties
  50 + public int NumOfMenuItems
  51 + {
  52 + get
  53 + {
  54 + return MenuItemList?.Where(x => !x.Separator).Count()??0;
  55 + }
  56 + }
50 57 public List<Item> MenuItemList { get; private set; } = new List<Item>();
51 58 List<string> MenuItemKeyList { get { return MenuItemList.Where(x => !x.Separator).Select(x => x.Key).ToList(); } }
52 59 #endregion public properties
... ... @@ -344,18 +351,27 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MenuNS
344 351 ColorConsole.Write(" --> ", ConsoleColor.White);
345 352 var remembercursorleft = ColorConsole.CursorLeft;
346 353 var remembercursortop = ColorConsole.CursorTop;
347   - if (selectionMode == SelectionMode.Multi)
  354 + if (NumOfMenuItems==0)
348 355 {
349 356 ColorConsole.WriteLine();
350   - ColorConsole.WriteLine("Multiple selections are separated with comma(,), enter asterisk(*) to select all!");
  357 + ColorConsole.WriteLine("No items in menu!");
  358 + selectionliststr = "EX";
351 359 }
352   - var remembercursorleft2 = ColorConsole.CursorLeft;
353   - var remembercursortop2 = ColorConsole.CursorTop;
354   - ColorConsole.SetCursorPosition(remembercursorleft, remembercursortop);
355   - selectionliststr = ColorConsole.ReadLine().ToUpper();
356   - if (selectionMode == SelectionMode.Multi)
  360 + else
357 361 {
358   - ColorConsole.SetCursorPosition(remembercursorleft2, remembercursortop2);
  362 + if (selectionMode == SelectionMode.Multi)
  363 + {
  364 + ColorConsole.WriteLine();
  365 + ColorConsole.WriteLine("Multiple selections are separated with comma(,), enter asterisk(*) to select all!");
  366 + }
  367 + var remembercursorleft2 = ColorConsole.CursorLeft;
  368 + var remembercursortop2 = ColorConsole.CursorTop;
  369 + ColorConsole.SetCursorPosition(remembercursorleft, remembercursortop);
  370 + selectionliststr = ColorConsole.ReadLine().ToUpper();
  371 + if (selectionMode == SelectionMode.Multi)
  372 + {
  373 + ColorConsole.SetCursorPosition(remembercursorleft2, remembercursortop2);
  374 + }
359 375 }
360 376 }
361 377 if (selectionliststr == "EX")
... ...
Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
... ... @@ -95,19 +95,30 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
95 95 else if (sr.Result == Menu.SelectionResult.Error) { return o; }
96 96 else if (sr.Result == Menu.SelectionResult.Ok) { }
97 97 else { }
98   - foreach (var p in sr.SelectedParameterList)
  98 + var startedsitelist = new List<string>();
  99 + var startedpoollist = new List<string>();
  100 + foreach (var wwa in sr.SelectedParameterList)
99 101 {
100   - WebApplication wa = p.Parameters as WebApplication;
  102 + WebApplication wa = wwa.Parameters as WebApplication;
101 103 using (ServerManager sm = new ServerManager())
102 104 {
103   - try { WebApplicationManagerCore.GetPool(sm, wa.Xml_PoolName)?.Stop(); } catch { ColorConsole.WriteLine($"Pool {wa.Xml_PoolName} already stopped."); }
104   - try { WebApplicationManagerCore.GetSite(sm, wa.Xml_SiteName)?.Stop(); } catch { ColorConsole.WriteLine($"Site {wa.Xml_SiteName} already stopped."); }
105   -
106   - SiteStart(wa, o);
107   - PoolStart(wa, o);
108   - PoolRecycle(wa, o);
109   -
110   - ColorConsole.WriteLine($"Pool {wa.Xml_PoolName} and site {wa.Xml_SiteName} restarted.");
  105 + string message="";
  106 + if (!startedsitelist.Contains(wa.Xml_SiteName))
  107 + {
  108 + try { WebApplicationManagerCore.GetSite(sm, wa.Xml_SiteName)?.Stop(); } catch { ColorConsole.WriteLine($"Site {wa.Xml_SiteName} already stopped."); }
  109 + OneSiteStart(wa);
  110 + startedsitelist.Add(wa.Xml_SiteName);
  111 + message += $"Site {wa.Xml_SiteName} restarted.";
  112 + }
  113 + if (!startedpoollist.Contains(wa.Xml_PoolName))
  114 + {
  115 + try { WebApplicationManagerCore.GetPool(sm, wa.Xml_PoolName)?.Stop(); } catch { ColorConsole.WriteLine($"Pool {wa.Xml_PoolName} already stopped."); }
  116 + OnePoolStart(wa);
  117 + OnePoolRecycle(wa);
  118 + startedpoollist.Add(wa.Xml_PoolName);
  119 + message += (message==""?"":" ") + $"Pool {wa.Xml_PoolName} restarted.";
  120 + }
  121 + if (!string.IsNullOrWhiteSpace(message)) { ColorConsole.WriteLine(message); }
111 122 }
112 123 }
113 124 return o;
... ...
Vrh.Log4Pro.MaintenanceConsole/Manager - WindowsServiceManager.cs
... ... @@ -73,7 +73,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
73 73  
74 74 var menuservices = new Menu("Windows services", "Select the windows service(es) to delete (max 10 in one run)!")
75 75 .SetSelectionMode(Menu.SelectionMode.Multi);
76   -
77 76 for (var i = 0; i < sl.Length; i++)
78 77 {
79 78 menuservices.AddMenuItem(new Menu.Item(null, $"{sl[i].ServiceName} ({sl[i].DisplayName})", null, new Menu.ExecutorParameter(pars: sl[i].ServiceName)));
... ... @@ -224,7 +223,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS
224 223 var args = (parameter as Menu.ExecutorParameter).Args;
225 224 var selectedserviceindexes = CommandLine.GetCommandLineArgument(args, CLP.Module.WindowsServiceManager.Function.CMD_SERVICES);
226 225  
227   - var menuservices = DisplayWindowsServiceMenu(config, $"Select the windows service(es) to manage with function '{nameof(Kill)}'!", silent: true);
  226 + var menuservices = DisplayWindowsServiceMenu(config, $"Select the windows service(es) to manage with function '{nameof(Stop)}'!", silent: true);
228 227  
229 228 Menu.Selection sr = menuservices.Select(selectedserviceindexes);
230 229 if (sr.Result == Menu.SelectionResult.Exit) { return o; }
... ...
Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
... ... @@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
32 32 // You can specify all the values or you can default the Build and Revision Numbers
33 33 // by using the '*' as shown below:
34 34 // [assembly: AssemblyVersion("1.0.*")]
35   -[assembly: AssemblyVersion("1.6.0.0")]
36   -[assembly: AssemblyFileVersion("1.6.0.0")]
  35 +[assembly: AssemblyVersion("1.6.2.0")]
  36 +[assembly: AssemblyFileVersion("1.6.2.0")]
... ...