Commit c4219940de46aba246e2ae6c194d41a8033f3ba3
1 parent
009667da
WebApplicationManager / SendUrl megvalósítása command módra
Showing
8 changed files
with
65 additions
and
29 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - CommandLineParser.cs
@@ -207,6 +207,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS | @@ -207,6 +207,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS | ||
207 | public static class Function | 207 | public static class Function |
208 | { | 208 | { |
209 | public const string CMD_WEBAPPS = "-WEBAPPS"; | 209 | public const string CMD_WEBAPPS = "-WEBAPPS"; |
210 | + public const string CMD_SENDURL = "-SENDURL"; | ||
210 | public static class Register { public const string KEY = "WAR"; } | 211 | public static class Register { public const string KEY = "WAR"; } |
211 | public static class ConfigureIIS { public const string KEY = "IIS"; } | 212 | public static class ConfigureIIS { public const string KEY = "IIS"; } |
212 | public static class Unregister { public const string KEY = "WAU"; } | 213 | public static class Unregister { public const string KEY = "WAU"; } |
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Http.cs
@@ -30,29 +30,43 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | @@ -30,29 +30,43 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | ||
30 | public static class HttpTools | 30 | public static class HttpTools |
31 | { | 31 | { |
32 | public enum RequestType { GET,POST,} | 32 | public enum RequestType { GET,POST,} |
33 | - public static ReturnInfoJSON GetReturninfoJSON(string url, RequestType mode = RequestType.GET, List<Vrh.XmlProcessing.UrlElement.UrlParameter> dictparameterlist=null) | 33 | + public static ReturnInfoJSON GetReturninfoJSON(string url, int timeoutinseconds,RequestType mode = RequestType.GET, List<Vrh.XmlProcessing.UrlElement.UrlParameter> dictparameterlist=null) |
34 | { | 34 | { |
35 | string returninfojsonstring = ""; | 35 | string returninfojsonstring = ""; |
36 | + timeoutinseconds = timeoutinseconds <= 0 ? 100: timeoutinseconds; | ||
36 | try | 37 | try |
37 | { | 38 | { |
38 | - return mode == RequestType.GET? _GetReturninfoJSON(url,out returninfojsonstring) : _PostReturninfoJSON(url, out returninfojsonstring, dictparameterlist); | 39 | + return mode == RequestType.GET? _GetReturninfoJSON(url, timeoutinseconds,out returninfojsonstring) : _PostReturninfoJSON(url, timeoutinseconds, out returninfojsonstring, dictparameterlist); |
39 | } | 40 | } |
40 | catch (Exception ex) { return new ReturnInfoJSON() { ReturnValue = -1, ReturnMessage = ex.Message + "\n" + returninfojsonstring, }; } | 41 | catch (Exception ex) { return new ReturnInfoJSON() { ReturnValue = -1, ReturnMessage = ex.Message + "\n" + returninfojsonstring, }; } |
41 | } | 42 | } |
42 | 43 | ||
43 | - private static ReturnInfoJSON _GetReturninfoJSON(string url, out string returninfojsonstring) | 44 | + private static ReturnInfoJSON _GetReturninfoJSON(string url, int timeoutinseconds, out string returninfojsonstring) |
44 | { | 45 | { |
45 | - var returninfojsonstream = Task.Run(async () => await (new HttpClient()).GetStreamAsync(url)).GetAwaiter().GetResult(); | 46 | + Stream returninfojsonstream; |
47 | + using (var httpclient = new HttpClient()) | ||
48 | + { | ||
49 | + httpclient.Timeout = new TimeSpan(0, 0, timeoutinseconds); | ||
50 | + returninfojsonstream = Task.Run(async () => await httpclient.GetStreamAsync(url)).GetAwaiter().GetResult(); | ||
51 | + } | ||
52 | + | ||
46 | returninfojsonstring = GetStreamAsString(returninfojsonstream); | 53 | returninfojsonstring = GetStreamAsString(returninfojsonstream); |
47 | ReturnInfoJSON returninfojson = (ReturnInfoJSON)JsonConvert.DeserializeObject(returninfojsonstring,typeof(ReturnInfoJSON)); | 54 | ReturnInfoJSON returninfojson = (ReturnInfoJSON)JsonConvert.DeserializeObject(returninfojsonstring,typeof(ReturnInfoJSON)); |
48 | //ReturnInfoJSON returninfojson = Task.Run(async () => await JsonSerializer.DeserializeAsync<ReturnInfoJSON>(returninfojsonstream)).GetAwaiter().GetResult(); | 55 | //ReturnInfoJSON returninfojson = Task.Run(async () => await JsonSerializer.DeserializeAsync<ReturnInfoJSON>(returninfojsonstream)).GetAwaiter().GetResult(); |
49 | return returninfojson; | 56 | return returninfojson; |
50 | } | 57 | } |
51 | - private static ReturnInfoJSON _PostReturninfoJSON(string url, out string returninfojsonstring, List<Vrh.XmlProcessing.UrlElement.UrlParameter> dictparameterlist = null) | 58 | + private static ReturnInfoJSON _PostReturninfoJSON(string url, int timeoutinseconds, out string returninfojsonstring, List<Vrh.XmlProcessing.UrlElement.UrlParameter> dictparameterlist = null) |
52 | { | 59 | { |
53 | var jsonstring = JsonConvert.SerializeObject(dictparameterlist.Where(p => p.PassTo == Vrh.XmlProcessing.UrlElement.ParameterTypes.dict)); | 60 | var jsonstring = JsonConvert.SerializeObject(dictparameterlist.Where(p => p.PassTo == Vrh.XmlProcessing.UrlElement.ParameterTypes.dict)); |
54 | HttpContent requestcontent = new StringContent(jsonstring); | 61 | HttpContent requestcontent = new StringContent(jsonstring); |
55 | - var returninfojsonhttpresponsemessage = Task.Run(async () => await (new HttpClient()).PostAsync(url, requestcontent)).GetAwaiter().GetResult(); | 62 | + |
63 | + HttpResponseMessage returninfojsonhttpresponsemessage; | ||
64 | + using (var httpclient = new HttpClient()) | ||
65 | + { | ||
66 | + httpclient.Timeout = new TimeSpan(0, 0, timeoutinseconds); | ||
67 | + returninfojsonhttpresponsemessage = Task.Run(async () => await httpclient.PostAsync(url, requestcontent)).GetAwaiter().GetResult(); | ||
68 | + } | ||
69 | + | ||
56 | var returninfojsonstream = Task.Run(async () => await returninfojsonhttpresponsemessage.Content.ReadAsStreamAsync()).GetAwaiter().GetResult(); | 70 | var returninfojsonstream = Task.Run(async () => await returninfojsonhttpresponsemessage.Content.ReadAsStreamAsync()).GetAwaiter().GetResult(); |
57 | returninfojsonstring = GetStreamAsString(returninfojsonstream); | 71 | returninfojsonstring = GetStreamAsString(returninfojsonstream); |
58 | ReturnInfoJSON returninfojson = (ReturnInfoJSON)JsonConvert.DeserializeObject(returninfojsonstring, typeof(ReturnInfoJSON)); | 72 | ReturnInfoJSON returninfojson = (ReturnInfoJSON)JsonConvert.DeserializeObject(returninfojsonstring, typeof(ReturnInfoJSON)); |
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools.cs
@@ -53,12 +53,12 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | @@ -53,12 +53,12 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | ||
53 | } | 53 | } |
54 | } | 54 | } |
55 | 55 | ||
56 | - public static void StartAsSystem(bool silent) | 56 | + public static void StartAsSystem(bool interactivemode=false) |
57 | { | 57 | { |
58 | - if (!silent) | 58 | + if (interactivemode) |
59 | { | 59 | { |
60 | var ans = ColorConsole.ReadLine("NT AUTHORITY\\SYSTEM", prefix: "Start as ",f:ConsoleColor.Yellow, suffix: "?", bracket: "[]",validitylist:new List<string> { "yes","no"},exitvalue:"EX",defaultvalue:"no"); | 60 | var ans = ColorConsole.ReadLine("NT AUTHORITY\\SYSTEM", prefix: "Start as ",f:ConsoleColor.Yellow, suffix: "?", bracket: "[]",validitylist:new List<string> { "yes","no"},exitvalue:"EX",defaultvalue:"no"); |
61 | - if (ans.ToLower() != "yes") { return; } | 61 | + if (ans?.ToLower() != "yes") { return; } |
62 | } | 62 | } |
63 | string runasusername = System.Security.Principal.WindowsIdentity.GetCurrent().Name; | 63 | string runasusername = System.Security.Principal.WindowsIdentity.GetCurrent().Name; |
64 | if (runasusername=="NT AUTHORITY\\SYSTEM") { return; } | 64 | if (runasusername=="NT AUTHORITY\\SYSTEM") { return; } |
Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
@@ -43,6 +43,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -43,6 +43,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
43 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.RegexTester.KEY, "Regex tester", RegexTester,new Menu.ExecutorParameter(cfg:config))) | 43 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.RegexTester.KEY, "Regex tester", RegexTester,new Menu.ExecutorParameter(cfg:config))) |
44 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.TCPIPTester.KEY, "TcpIp Tester", TcpIpTester, new Menu.ExecutorParameter(cfg: config, null))) | 44 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.TCPIPTester.KEY, "TcpIp Tester", TcpIpTester, new Menu.ExecutorParameter(cfg: config, null))) |
45 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool.KEY, "Tool sample", Tool2, new Menu.ExecutorParameter(cfg: config, null))) | 45 | .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool.KEY, "Tool sample", Tool2, new Menu.ExecutorParameter(cfg: config, null))) |
46 | + | ||
46 | .SetSelectionMode(Menu.SelectionMode.Single); | 47 | .SetSelectionMode(Menu.SelectionMode.Single); |
47 | foreach (var x in config.ExternalUtilityConfigList) | 48 | foreach (var x in config.ExternalUtilityConfigList) |
48 | { | 49 | { |
@@ -74,7 +75,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | @@ -74,7 +75,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS | ||
74 | #region RegexTester | 75 | #region RegexTester |
75 | public static object StartAsSystem(object parameter, object o) | 76 | public static object StartAsSystem(object parameter, object o) |
76 | { | 77 | { |
77 | - OtherTools.StartAsSystem(true); | 78 | + OtherTools.StartAsSystem(); |
78 | return o; | 79 | return o; |
79 | } | 80 | } |
80 | private static object RegexTester(object parameter, object o) | 81 | private static object RegexTester(object parameter, object o) |
Vrh.Log4Pro.MaintenanceConsole/Manager - ScheduledTaskManager.cs
@@ -283,7 +283,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS | @@ -283,7 +283,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS | ||
283 | if (st.Status != "Uninstalled" && st.Status != "Disabled") | 283 | if (st.Status != "Uninstalled" && st.Status != "Disabled") |
284 | { | 284 | { |
285 | ColorConsole.Write(st.PriorityText(st.Priority), statuscolor, prefix: "Effective priority ", suffix: ". "); | 285 | ColorConsole.Write(st.PriorityText(st.Priority), statuscolor, prefix: "Effective priority ", suffix: ". "); |
286 | - ColorConsole.Write($"{st.Xml_Commandname}", ConsoleColor.Yellow, prefix: "Command: "); | ||
287 | } | 286 | } |
288 | ColorConsole.WriteLine(); | 287 | ColorConsole.WriteLine(); |
289 | return " "; | 288 | return " "; |
@@ -293,11 +292,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS | @@ -293,11 +292,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS | ||
293 | ColorConsole.Write($"{st.Xml_Schedule}",ConsoleColor.Yellow,prefix:"Scheduled ",suffix:" "); | 292 | ColorConsole.Write($"{st.Xml_Schedule}",ConsoleColor.Yellow,prefix:"Scheduled ",suffix:" "); |
294 | ColorConsole.Write($"{st.Xml_StartTime}", ConsoleColor.Yellow, prefix: "at ", suffix: ", "); | 293 | ColorConsole.Write($"{st.Xml_StartTime}", ConsoleColor.Yellow, prefix: "at ", suffix: ", "); |
295 | ColorConsole.Write(st.PriorityText(st.Xml_Priority), ConsoleColor.Yellow, prefix: "with priority ", suffix: ". "); | 294 | ColorConsole.Write(st.PriorityText(st.Xml_Priority), ConsoleColor.Yellow, prefix: "with priority ", suffix: ". "); |
296 | - ColorConsole.Write($"{st.Xml_Enable}", ConsoleColor.Yellow, prefix: "After install ", suffix: " "); | ||
297 | - ColorConsole.Write($"{st.Xml_Run}", ConsoleColor.Yellow, prefix: "and run ", suffix: ". "); | 295 | + ColorConsole.Write($"{st.Xml_Enable}", ConsoleColor.Yellow, prefix: "After install: Enable=", suffix: ","); |
296 | + ColorConsole.Write($"{st.Xml_Run}", ConsoleColor.Yellow, prefix: "Run=", suffix: ". "); | ||
298 | ColorConsole.WriteLine(" "); | 297 | ColorConsole.WriteLine(" "); |
299 | return " "; | 298 | return " "; |
300 | } | 299 | } |
300 | + else if (lineix == 2) | ||
301 | + { | ||
302 | + ColorConsole.WriteLine($"{st.Xml_Commandname}", ConsoleColor.Yellow, prefix: "Command: "); | ||
303 | + return " "; | ||
304 | + } | ||
301 | return null; | 305 | return null; |
302 | } | 306 | } |
303 | #endregion private method: DisplayTaskInfo | 307 | #endregion private method: DisplayTaskInfo |
Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
@@ -88,6 +88,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -88,6 +88,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
88 | var config = (parameters as Menu.ExecutorParameter).GetConfig<WebApplicationManagerXmlProcessor>(); | 88 | var config = (parameters as Menu.ExecutorParameter).GetConfig<WebApplicationManagerXmlProcessor>(); |
89 | var args = (parameters as Menu.ExecutorParameter).Args; | 89 | var args = (parameters as Menu.ExecutorParameter).Args; |
90 | var selectedwaindexes = CommandLine.GetCommandLineArgument(args, CLP.Module.WebApplicationManager.Function.CMD_WEBAPPS); | 90 | var selectedwaindexes = CommandLine.GetCommandLineArgument(args, CLP.Module.WebApplicationManager.Function.CMD_WEBAPPS); |
91 | + var predefinedsendurlname = CommandLine.GetCommandLineArgument(args, CLP.Module.WebApplicationManager.Function.CMD_SENDURL); | ||
91 | var menuwapps = DisplayWebApplicationMenu(config, "Select the web application(s) to manage!", silent: true); | 92 | var menuwapps = DisplayWebApplicationMenu(config, "Select the web application(s) to manage!", silent: true); |
92 | menuwapps.SetSelectionMode(Menu.SelectionMode.Single); | 93 | menuwapps.SetSelectionMode(Menu.SelectionMode.Single); |
93 | Menu.Selection sr = menuwapps.Select(selectedwaindexes); | 94 | Menu.Selection sr = menuwapps.Select(selectedwaindexes); |
@@ -104,7 +105,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -104,7 +105,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
104 | var therearepredefinedurls = selectedwebapplication.Xml_SendUrlList != null && selectedwebapplication.Xml_SendUrlList.Any(); | 105 | var therearepredefinedurls = selectedwebapplication.Xml_SendUrlList != null && selectedwebapplication.Xml_SendUrlList.Any(); |
105 | string urlname; | 106 | string urlname; |
106 | List<string> sendurlnamelist=null; | 107 | List<string> sendurlnamelist=null; |
107 | - if (therearepredefinedurls) | 108 | + if (therearepredefinedurls && !string.IsNullOrWhiteSpace(predefinedsendurlname)) { urlname = predefinedsendurlname; } |
109 | + else if (therearepredefinedurls) | ||
108 | { | 110 | { |
109 | ColorConsole.WriteLine("Enter the name of the url to send, or * to enter url manually:", ConsoleColor.Yellow); | 111 | ColorConsole.WriteLine("Enter the name of the url to send, or * to enter url manually:", ConsoleColor.Yellow); |
110 | sendurlnamelist = selectedwebapplication.Xml_SendUrlList.Select(su => su.Name).ToList(); | 112 | sendurlnamelist = selectedwebapplication.Xml_SendUrlList.Select(su => su.Name).ToList(); |
@@ -122,6 +124,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -122,6 +124,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
122 | 124 | ||
123 | string urltext; | 125 | string urltext; |
124 | HttpTools.RequestType gp; | 126 | HttpTools.RequestType gp; |
127 | + int to; | ||
125 | List<Vrh.XmlProcessing.UrlElement.UrlParameter> uplist=null; | 128 | List<Vrh.XmlProcessing.UrlElement.UrlParameter> uplist=null; |
126 | if (urlname.ToLower() == "*") | 129 | if (urlname.ToLower() == "*") |
127 | { | 130 | { |
@@ -134,12 +137,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -134,12 +137,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
134 | if (string.IsNullOrWhiteSpace(urltext)) goto getsendurlnameurlinputcycle; | 137 | if (string.IsNullOrWhiteSpace(urltext)) goto getsendurlnameurlinputcycle; |
135 | ColorConsole.WriteLine("Enter request type (GET/POST):", ConsoleColor.Yellow); | 138 | ColorConsole.WriteLine("Enter request type (GET/POST):", ConsoleColor.Yellow); |
136 | string gpstr = ColorConsole.ReadLine(); | 139 | string gpstr = ColorConsole.ReadLine(); |
137 | - gp = HttpTools.RequestType.GET; | ||
138 | if (gpstr.ToLower() == "ex") return o; | 140 | if (gpstr.ToLower() == "ex") return o; |
141 | + gp = HttpTools.RequestType.GET; | ||
139 | if (string.IsNullOrWhiteSpace(gpstr)) goto getsendurlnameurlinputcycle; | 142 | if (string.IsNullOrWhiteSpace(gpstr)) goto getsendurlnameurlinputcycle; |
140 | else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.GET)) { gp = HttpTools.RequestType.GET; } | 143 | else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.GET)) { gp = HttpTools.RequestType.GET; } |
141 | else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.POST)) { gp = HttpTools.RequestType.POST; } | 144 | else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.POST)) { gp = HttpTools.RequestType.POST; } |
142 | 145 | ||
146 | + ColorConsole.WriteLine("Enter timeout (0 for default):", ConsoleColor.Yellow); | ||
147 | + string tostring = ColorConsole.ReadLine(); | ||
148 | + if (tostring.ToLower() == "ex") return o; | ||
149 | + to = 0; | ||
150 | + if (string.IsNullOrWhiteSpace(tostring)) goto getsendurlnameurlinputcycle; | ||
151 | + else if (!int.TryParse(tostring,out to)) { } | ||
143 | } | 152 | } |
144 | else if (sendurlnamelist!=null && !sendurlnamelist.Contains(urlname)) { ColorConsole.WriteLine("Invalid selection!", ConsoleColor.Red); return o; } | 153 | else if (sendurlnamelist!=null && !sendurlnamelist.Contains(urlname)) { ColorConsole.WriteLine("Invalid selection!", ConsoleColor.Red); return o; } |
145 | else | 154 | else |
@@ -149,12 +158,17 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -149,12 +158,17 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
149 | urltext = urlobject.GetUrl(); | 158 | urltext = urlobject.GetUrl(); |
150 | uplist = urlobject.UrlParameters.Where(p => p.PassTo == Vrh.XmlProcessing.UrlElement.ParameterTypes.dict).ToList(); | 159 | uplist = urlobject.UrlParameters.Where(p => p.PassTo == Vrh.XmlProcessing.UrlElement.ParameterTypes.dict).ToList(); |
151 | gp = sendurlobject.ForcePOST || uplist.Any() ? HttpTools.RequestType.POST : HttpTools.RequestType.GET; | 160 | gp = sendurlobject.ForcePOST || uplist.Any() ? HttpTools.RequestType.POST : HttpTools.RequestType.GET; |
161 | + to = sendurlobject.TimeoutInSeconds; | ||
152 | } | 162 | } |
153 | 163 | ||
154 | - ToolsNS.HttpTools.ReturnInfoJSON returninfojson = HttpTools.GetReturninfoJSON(urltext, gp); | 164 | + repeatsameurl: |
165 | + ToolsNS.HttpTools.ReturnInfoJSON returninfojson = HttpTools.GetReturninfoJSON(urltext, to,gp); | ||
155 | ColorConsole.WriteLine("ReturnValue:", ConsoleColor.Yellow, suffix: returninfojson.ReturnValue.ToString()); | 166 | ColorConsole.WriteLine("ReturnValue:", ConsoleColor.Yellow, suffix: returninfojson.ReturnValue.ToString()); |
156 | ColorConsole.WriteLine("ReturnMessage:", ConsoleColor.Yellow, suffix: returninfojson.ReturnMessage); | 167 | ColorConsole.WriteLine("ReturnMessage:", ConsoleColor.Yellow, suffix: returninfojson.ReturnMessage); |
157 | ColorConsole.WriteLine(); | 168 | ColorConsole.WriteLine(); |
169 | + ColorConsole.WriteLine("Repeat the same url?", ConsoleColor.Gray, suffix: "Yes/No/y/n"); | ||
170 | + var repeat = ColorConsole.ReadLine().ToLower(); | ||
171 | + if (repeat == "yes" || repeat == "y") goto repeatsameurl; | ||
158 | 172 | ||
159 | return o; | 173 | return o; |
160 | } | 174 | } |
@@ -1287,6 +1301,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1287,6 +1301,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
1287 | public Vrh.XmlProcessing.UrlElement UrlElement; | 1301 | public Vrh.XmlProcessing.UrlElement UrlElement; |
1288 | public bool ForcePOST = false; | 1302 | public bool ForcePOST = false; |
1289 | public string Name; | 1303 | public string Name; |
1304 | + public int TimeoutInSeconds = 0; | ||
1290 | public bool IsOK | 1305 | public bool IsOK |
1291 | { | 1306 | { |
1292 | get | 1307 | get |
@@ -1314,7 +1329,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1314,7 +1329,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
1314 | public SendUrl(XElement sendurlxmlelement) | 1329 | public SendUrl(XElement sendurlxmlelement) |
1315 | { | 1330 | { |
1316 | Name = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.Name), sendurlxmlelement, ""); | 1331 | Name = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.Name), sendurlxmlelement, ""); |
1317 | - ForcePOST = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.ForcePost), sendurlxmlelement, XmlStructure.WebApplication.SendUrl.Attributes.ForcePost.Values.DEFAULT); | 1332 | + ForcePOST = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.forcepost), sendurlxmlelement, XmlStructure.WebApplication.SendUrl.Attributes.forcepost.Values.DEFAULT); |
1333 | + TimeoutInSeconds = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.timeoutinseconds), sendurlxmlelement, XmlStructure.WebApplication.SendUrl.Attributes.timeoutinseconds.Values.DEFAULT); | ||
1318 | Vrh.XmlProcessing.UrlElement xxxx = new Vrh.XmlProcessing.UrlElement(sendurlxmlelement); | 1334 | Vrh.XmlProcessing.UrlElement xxxx = new Vrh.XmlProcessing.UrlElement(sendurlxmlelement); |
1319 | UrlElement = new Vrh.XmlProcessing.UrlElement(); | 1335 | UrlElement = new Vrh.XmlProcessing.UrlElement(); |
1320 | UrlElement.Url = GetValue(sendurlxmlelement, ""); | 1336 | UrlElement.Url = GetValue(sendurlxmlelement, ""); |
@@ -1382,7 +1398,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1382,7 +1398,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
1382 | public static class Attributes | 1398 | public static class Attributes |
1383 | { | 1399 | { |
1384 | public static class Name { } | 1400 | public static class Name { } |
1385 | - public static class ForcePost { public static class Values { public static bool DEFAULT = false; } } | 1401 | + public static class forcepost { public static class Values { public static bool DEFAULT = false; } } |
1402 | + public static class timeoutinseconds { public static class Values { public static int DEFAULT = 0; } } | ||
1386 | public static class protocol { } | 1403 | public static class protocol { } |
1387 | public static class hostname { } | 1404 | public static class hostname { } |
1388 | public static class appname { } | 1405 | public static class appname { } |
Vrh.Log4Pro.MaintenanceConsole/Program.cs
@@ -37,19 +37,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole | @@ -37,19 +37,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole | ||
37 | { | 37 | { |
38 | static void Main(string[] args) | 38 | static void Main(string[] args) |
39 | { | 39 | { |
40 | - //Tests.T3(); | ||
41 | - //return; | ||
42 | - | ||
43 | - var startassystemstr = CommandLine.GetCommandLineArgument(args, CLP.CMD_STARTASSYSTEM); | ||
44 | - var startassystem = startassystemstr!=null && startassystemstr.ToLower() == "yes"; | ||
45 | - | ||
46 | - OtherTools.StartAsAdmin(); | ||
47 | - OtherTools.StartAsSystem(silent:startassystem); | ||
48 | - | ||
49 | var forcedmodulekey = CommandLine.GetCommandLineArgument(args, CLP.CMD_MODULE); | 40 | var forcedmodulekey = CommandLine.GetCommandLineArgument(args, CLP.CMD_MODULE); |
50 | var commandmode = !string.IsNullOrEmpty(forcedmodulekey); | 41 | var commandmode = !string.IsNullOrEmpty(forcedmodulekey); |
51 | var silentmode = commandmode && !string.IsNullOrEmpty(CommandLine.GetCommandLineArgument(args, CLP.CMD_SILENT, switchtype: true)); | 42 | var silentmode = commandmode && !string.IsNullOrEmpty(CommandLine.GetCommandLineArgument(args, CLP.CMD_SILENT, switchtype: true)); |
52 | ColorConsole.SilentMode=silentmode; | 43 | ColorConsole.SilentMode=silentmode; |
44 | + | ||
45 | + if (ColorConsole.SilentMode) { Thread.Sleep(20000); } // ez azért van, hogy ha a schedulerben elindítjuk az ütemmezett taskot, akkor rá tudjunk kapcsolódni a debuggerrel | ||
46 | + | ||
47 | + var startassystemstr = CommandLine.GetCommandLineArgument(args, CLP.CMD_STARTASSYSTEM); | ||
48 | + var startassystem = startassystemstr != null && startassystemstr.ToLower() == "yes"; | ||
49 | + OtherTools.StartAsAdmin(); | ||
50 | + OtherTools.StartAsSystem(!startassystem); | ||
51 | + | ||
53 | Menu.SetCommandMode(commandmode); | 52 | Menu.SetCommandMode(commandmode); |
54 | 53 | ||
55 | var appconfigpath = CommandLine.GetCommandLineArgument(args, CLP.CMD_APPCONFIG); | 54 | var appconfigpath = CommandLine.GetCommandLineArgument(args, CLP.CMD_APPCONFIG); |
Vrh.Log4Pro.MaintenanceConsole/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices; | @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; | ||
32 | // You can specify all the values or you can default the Build and Revision Numbers | 32 | // You can specify all the values or you can default the Build and Revision Numbers |
33 | // by using the '*' as shown below: | 33 | // by using the '*' as shown below: |
34 | // [assembly: AssemblyVersion("1.0.*")] | 34 | // [assembly: AssemblyVersion("1.0.*")] |
35 | -[assembly: AssemblyVersion("1.16.1.0")] | ||
36 | -[assembly: AssemblyFileVersion("1.16.1.0")] | 35 | +[assembly: AssemblyVersion("1.16.3.0")] |
36 | +[assembly: AssemblyFileVersion("1.16.3.0")] |