Commit aa2e380745e21486d5ac26ba79aff8e05153f6dd
1 parent
5df5f3e5
v1.15.0
WebApplication/SendUrl xml elem megvalósítása
Showing
5 changed files
with
164 additions
and
58 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Http.cs
| @@ -23,21 +23,19 @@ using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | @@ -23,21 +23,19 @@ using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS; | ||
| 23 | using System.Net.Http; | 23 | using System.Net.Http; |
| 24 | using System.Net.Http.Headers; | 24 | using System.Net.Http.Headers; |
| 25 | using System.Collections.Generic; | 25 | using System.Collections.Generic; |
| 26 | -using System.Text.Json; | ||
| 27 | -using System.Text.Json.Serialization; | ||
| 28 | - | 26 | +using Newtonsoft.Json; |
| 29 | 27 | ||
| 30 | namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | 28 | namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS |
| 31 | { | 29 | { |
| 32 | public static class HttpTools | 30 | public static class HttpTools |
| 33 | { | 31 | { |
| 34 | public enum RequestType { GET,POST,} | 32 | public enum RequestType { GET,POST,} |
| 35 | - public static ReturnInfoJSON GetReturninfoJSON(string url, RequestType mode = RequestType.GET) | 33 | + public static ReturnInfoJSON GetReturninfoJSON(string url, RequestType mode = RequestType.GET, List<Vrh.XmlProcessing.UrlElement.UrlParameter> dictparameterlist=null) |
| 36 | { | 34 | { |
| 37 | string returninfojsonstring = ""; | 35 | string returninfojsonstring = ""; |
| 38 | try | 36 | try |
| 39 | { | 37 | { |
| 40 | - return mode == RequestType.GET? _GetReturninfoJSON(url,out returninfojsonstring) : _PostReturninfoJSON(url, out returninfojsonstring); | 38 | + return mode == RequestType.GET? _GetReturninfoJSON(url,out returninfojsonstring) : _PostReturninfoJSON(url, out returninfojsonstring, dictparameterlist); |
| 41 | } | 39 | } |
| 42 | catch (Exception ex) { return new ReturnInfoJSON() { ReturnValue = -1, ReturnMessage = ex.Message + "\n" + returninfojsonstring, }; } | 40 | catch (Exception ex) { return new ReturnInfoJSON() { ReturnValue = -1, ReturnMessage = ex.Message + "\n" + returninfojsonstring, }; } |
| 43 | } | 41 | } |
| @@ -46,16 +44,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | @@ -46,16 +44,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | ||
| 46 | { | 44 | { |
| 47 | var returninfojsonstream = Task.Run(async () => await (new HttpClient()).GetStreamAsync(url)).GetAwaiter().GetResult(); | 45 | var returninfojsonstream = Task.Run(async () => await (new HttpClient()).GetStreamAsync(url)).GetAwaiter().GetResult(); |
| 48 | returninfojsonstring = GetStreamAsString(returninfojsonstream); | 46 | returninfojsonstring = GetStreamAsString(returninfojsonstream); |
| 49 | - ReturnInfoJSON returninfojson = JsonSerializer.Deserialize<ReturnInfoJSON>(returninfojsonstring); | 47 | + ReturnInfoJSON returninfojson = (ReturnInfoJSON)JsonConvert.DeserializeObject(returninfojsonstring,typeof(ReturnInfoJSON)); |
| 50 | //ReturnInfoJSON returninfojson = Task.Run(async () => await JsonSerializer.DeserializeAsync<ReturnInfoJSON>(returninfojsonstream)).GetAwaiter().GetResult(); | 48 | //ReturnInfoJSON returninfojson = Task.Run(async () => await JsonSerializer.DeserializeAsync<ReturnInfoJSON>(returninfojsonstream)).GetAwaiter().GetResult(); |
| 51 | return returninfojson; | 49 | return returninfojson; |
| 52 | } | 50 | } |
| 53 | - private static ReturnInfoJSON _PostReturninfoJSON(string url, out string returninfojsonstring) | 51 | + private static ReturnInfoJSON _PostReturninfoJSON(string url, out string returninfojsonstring, List<Vrh.XmlProcessing.UrlElement.UrlParameter> dictparameterlist = null) |
| 54 | { | 52 | { |
| 55 | - var returninfojsonhttpresponsemessage = Task.Run(async () => await (new HttpClient()).PostAsync(url, null)).GetAwaiter().GetResult(); | 53 | + var jsonstring = JsonConvert.SerializeObject(dictparameterlist.Where(p => p.PassTo == Vrh.XmlProcessing.UrlElement.ParameterTypes.dict)); |
| 54 | + HttpContent requestcontent = new StringContent(jsonstring); | ||
| 55 | + var returninfojsonhttpresponsemessage = Task.Run(async () => await (new HttpClient()).PostAsync(url, requestcontent)).GetAwaiter().GetResult(); | ||
| 56 | var returninfojsonstream = Task.Run(async () => await returninfojsonhttpresponsemessage.Content.ReadAsStreamAsync()).GetAwaiter().GetResult(); | 56 | var returninfojsonstream = Task.Run(async () => await returninfojsonhttpresponsemessage.Content.ReadAsStreamAsync()).GetAwaiter().GetResult(); |
| 57 | returninfojsonstring = GetStreamAsString(returninfojsonstream); | 57 | returninfojsonstring = GetStreamAsString(returninfojsonstream); |
| 58 | - ReturnInfoJSON returninfojson = JsonSerializer.Deserialize<ReturnInfoJSON>(returninfojsonstring); | 58 | + ReturnInfoJSON returninfojson = (ReturnInfoJSON)JsonConvert.DeserializeObject(returninfojsonstring, typeof(ReturnInfoJSON)); |
| 59 | //var returninfojson = Task.Run(async () => await JsonSerializer.DeserializeAsync<ReturnInfoJSON>(returninfojsonstream)).GetAwaiter().GetResult(); | 59 | //var returninfojson = Task.Run(async () => await JsonSerializer.DeserializeAsync<ReturnInfoJSON>(returninfojsonstream)).GetAwaiter().GetResult(); |
| 60 | return returninfojson; | 60 | return returninfojson; |
| 61 | } | 61 | } |
| @@ -72,10 +72,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | @@ -72,10 +72,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS | ||
| 72 | } | 72 | } |
| 73 | public class ReturnInfoJSON | 73 | public class ReturnInfoJSON |
| 74 | { | 74 | { |
| 75 | - [JsonPropertyName("ReturnValue")] | ||
| 76 | public int ReturnValue { get; set; } | 75 | public int ReturnValue { get; set; } |
| 77 | 76 | ||
| 78 | - [JsonPropertyName("ReturnMessage")] | ||
| 79 | public string ReturnMessage { get; set; } | 77 | public string ReturnMessage { get; set; } |
| 80 | } | 78 | } |
| 81 | } | 79 | } |
Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
| @@ -88,23 +88,65 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -88,23 +88,65 @@ 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 menuwapps = DisplayWebApplicationMenu(config, "Select the web application(s) to manage!", silent: true); | ||
| 92 | + menuwapps.SetSelectionMode(Menu.SelectionMode.Single); | ||
| 93 | + Menu.Selection sr = menuwapps.Select(selectedwaindexes); | ||
| 91 | 94 | ||
| 92 | - const string TESTURL = "http://localhost/Log4ProIS/Import/Log/PurgeGet?numofdays=120&xml=config=ALM_Import;"; | 95 | + if (sr.Result == Menu.SelectionResult.Exit) { return o; } |
| 96 | + else if (sr.Result == Menu.SelectionResult.None) { return o; } | ||
| 97 | + else if (sr.Result == Menu.SelectionResult.Error) { return o; } | ||
| 98 | + else if (sr.Result == Menu.SelectionResult.Ok) { } | ||
| 99 | + else { } | ||
| 100 | + | ||
| 101 | + WebApplication selectedwebapplication = (sr.SelectedParameterList.First()).Parameters as WebApplication; | ||
| 102 | + var therearepredefinedurls = selectedwebapplication.Xml_SendUrlList != null && selectedwebapplication.Xml_SendUrlList.Any(); | ||
| 103 | + string urlname; | ||
| 104 | + List<string> sendurlnamelist=null; | ||
| 105 | + if (therearepredefinedurls) | ||
| 106 | + { | ||
| 107 | + ColorConsole.WriteLine("Enter the name of the url to send, or * to enter url manually:", ConsoleColor.Yellow); | ||
| 108 | + sendurlnamelist = selectedwebapplication.Xml_SendUrlList.Select(su => su.Name).ToList(); | ||
| 109 | + string sendurlnamecommalist = string.Join(",", sendurlnamelist); | ||
| 110 | + ColorConsole.WriteLine("Select names from this list:", ConsoleColor.Gray, suffix: sendurlnamecommalist); | ||
| 111 | + foreach (var su in selectedwebapplication.Xml_SendUrlList) | ||
| 112 | + { | ||
| 113 | + ColorConsole.WriteLine(su.UrlElement.GetUrlAbsolute(), ConsoleColor.Gray, prefix: $" {su.Name}: "); | ||
| 114 | + } | ||
| 115 | + urlname = ColorConsole.ReadLine(); | ||
| 116 | + } | ||
| 117 | + else { urlname = "*"; } | ||
| 118 | + if (urlname.ToLower() == "ex") return o; | ||
| 119 | + string urltext; | ||
| 120 | + HttpTools.RequestType gp; | ||
| 121 | + List<Vrh.XmlProcessing.UrlElement.UrlParameter> uplist=null; | ||
| 122 | + if (urlname.ToLower() == "*") | ||
| 123 | + { | ||
| 124 | + const string TESTURL = "http://localhost/Log4ProIS/Import/Log/PurgeGet?numofdays=120&xml=config=ALM_Import;"; | ||
| 125 | + ColorConsole.WriteLine("Enter url to send:", ConsoleColor.Yellow); | ||
| 126 | + ColorConsole.WriteLine("Sample (Enter 'Sample' to use this):", ConsoleColor.Gray, suffix: TESTURL); | ||
| 127 | + urltext = ColorConsole.ReadLine(); | ||
| 128 | + if (urltext.ToLower() == "ex") return o; | ||
| 129 | + if (urltext.ToLower() == "sample") urltext = TESTURL; | ||
| 130 | + ColorConsole.WriteLine("Enter request type (GET/POST):", ConsoleColor.Yellow); | ||
| 131 | + string gpstr = ColorConsole.ReadLine(); | ||
| 132 | + gp = HttpTools.RequestType.GET; | ||
| 133 | + if (gpstr.ToLower() == "ex") return o; | ||
| 134 | + else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.GET)) { gp = HttpTools.RequestType.GET; } | ||
| 135 | + else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.POST)) { gp = HttpTools.RequestType.POST; } | ||
| 93 | 136 | ||
| 94 | - ColorConsole.WriteLine("Enter url to send:", ConsoleColor.Yellow); | ||
| 95 | - ColorConsole.WriteLine("Sample (Enter 'Sample' to use this):", ConsoleColor.Gray, suffix: TESTURL); | ||
| 96 | - string url = ColorConsole.ReadLine(); | ||
| 97 | - if (url.ToLower() == "ex") return o; | ||
| 98 | - if (url.ToLower() == "sample") url = TESTURL; | ||
| 99 | - ColorConsole.WriteLine("Enter request type (GET/POST):", ConsoleColor.Yellow); | ||
| 100 | - string gpstr = ColorConsole.ReadLine(); | ||
| 101 | - HttpTools.RequestType gp = HttpTools.RequestType.GET; | ||
| 102 | - if (gpstr.ToLower() == "ex") return o; | ||
| 103 | - else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.GET)) { gp = HttpTools.RequestType.GET; } | ||
| 104 | - else if (gpstr.ToUpper() == nameof(HttpTools.RequestType.POST)) { gp = HttpTools.RequestType.POST; } | 137 | + } |
| 138 | + else if (sendurlnamelist!=null && !sendurlnamelist.Contains(urlname)) { ColorConsole.WriteLine("Invalid selection!", ConsoleColor.Red); return o; } | ||
| 139 | + else | ||
| 140 | + { | ||
| 141 | + var sendurlobject = selectedwebapplication.Xml_SendUrlList.FirstOrDefault(u => u.Name == urlname); | ||
| 142 | + var urlobject = sendurlobject.UrlElement; | ||
| 143 | + urltext = urlobject.GetUrl(); | ||
| 144 | + uplist = urlobject.UrlParameters.Where(p => p.PassTo == Vrh.XmlProcessing.UrlElement.ParameterTypes.dict).ToList(); | ||
| 145 | + gp = sendurlobject.ForcePOST || uplist.Any() ? HttpTools.RequestType.POST : HttpTools.RequestType.GET; | ||
| 146 | + } | ||
| 105 | 147 | ||
| 106 | - ToolsNS.HttpTools.ReturnInfoJSON returninfojson = HttpTools.GetReturninfoJSON(url,gp); | ||
| 107 | - ColorConsole.WriteLine("ReturnValue:",ConsoleColor.Yellow,suffix: returninfojson.ReturnValue.ToString()); | 148 | + ToolsNS.HttpTools.ReturnInfoJSON returninfojson = HttpTools.GetReturninfoJSON(urltext, gp); |
| 149 | + ColorConsole.WriteLine("ReturnValue:", ConsoleColor.Yellow, suffix: returninfojson.ReturnValue.ToString()); | ||
| 108 | ColorConsole.WriteLine("ReturnMessage:", ConsoleColor.Yellow, suffix: returninfojson.ReturnMessage); | 150 | ColorConsole.WriteLine("ReturnMessage:", ConsoleColor.Yellow, suffix: returninfojson.ReturnMessage); |
| 109 | ColorConsole.WriteLine(); | 151 | ColorConsole.WriteLine(); |
| 110 | 152 | ||
| @@ -748,30 +790,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -748,30 +790,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
| 748 | } | 790 | } |
| 749 | #endregion private method:SetImpersonateIdentity | 791 | #endregion private method:SetImpersonateIdentity |
| 750 | #region private method:SetPoolUserAccount | 792 | #region private method:SetPoolUserAccount |
| 751 | - //public static void SetPoolUserAccountOLD(string appname, string sitename, string username, string password, ProcessModelIdentityType poolidentitytype) | ||
| 752 | - //{ | ||
| 753 | - // using (var sm = new ServerManager()) | ||
| 754 | - // { | ||
| 755 | - // //var pool = GetPool(GetPoolName(sitename, appname)); | ||
| 756 | - // var pool = GetPool(sm, sitename, appname); | ||
| 757 | - // if (username == nameof(ProcessModelIdentityType.ApplicationPoolIdentity) | ||
| 758 | - // || username == nameof(ProcessModelIdentityType.LocalService) | ||
| 759 | - // || username == nameof(ProcessModelIdentityType.LocalSystem) | ||
| 760 | - // || username == nameof(ProcessModelIdentityType.NetworkService)) | ||
| 761 | - // { | ||
| 762 | - // pool.ProcessModel.UserName = null; | ||
| 763 | - // pool.ProcessModel.Password = null; | ||
| 764 | - // pool.ProcessModel.IdentityType = (ProcessModelIdentityType)Enum.Parse(typeof(ProcessModelIdentityType), username); | ||
| 765 | - // } | ||
| 766 | - // else // if (ProcessModelIdentityType.SpecificUser) | ||
| 767 | - // { | ||
| 768 | - // pool.ProcessModel.UserName = username; | ||
| 769 | - // pool.ProcessModel.Password = password; | ||
| 770 | - // pool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser; | ||
| 771 | - // } | ||
| 772 | - // CommitChanges(sm, pool.Name); | ||
| 773 | - // } | ||
| 774 | - //} | ||
| 775 | public static void SetPoolUserAccount(string appname, string sitename, string username, string password, ProcessModelIdentityType poolidentitytype) | 793 | public static void SetPoolUserAccount(string appname, string sitename, string username, string password, ProcessModelIdentityType poolidentitytype) |
| 776 | { | 794 | { |
| 777 | using (var sm = new ServerManager()) | 795 | using (var sm = new ServerManager()) |
| @@ -1141,6 +1159,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1141,6 +1159,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
| 1141 | public bool Xml_ForceRemovePool; | 1159 | public bool Xml_ForceRemovePool; |
| 1142 | public bool Xml_ForceRemoveSite; | 1160 | public bool Xml_ForceRemoveSite; |
| 1143 | public List<VirtualDirectory> Xml_VirtualDirectoryList; | 1161 | public List<VirtualDirectory> Xml_VirtualDirectoryList; |
| 1162 | + public List<SendUrl> Xml_SendUrlList; | ||
| 1144 | #endregion properties from Xml definition | 1163 | #endregion properties from Xml definition |
| 1145 | 1164 | ||
| 1146 | #region properties from environment | 1165 | #region properties from environment |
| @@ -1203,10 +1222,17 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1203,10 +1222,17 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
| 1203 | var vddefinitionXmlList = GetAllXElements(webappXml, nameof(XmlStructure.WebApplication.VirtualDirectory)); | 1222 | var vddefinitionXmlList = GetAllXElements(webappXml, nameof(XmlStructure.WebApplication.VirtualDirectory)); |
| 1204 | if (vddefinitionXmlList != null && vddefinitionXmlList.Any()) | 1223 | if (vddefinitionXmlList != null && vddefinitionXmlList.Any()) |
| 1205 | { | 1224 | { |
| 1206 | - foreach (var vddefinitionXml in vddefinitionXmlList) | ||
| 1207 | - { | ||
| 1208 | - Xml_VirtualDirectoryList.Add(new VirtualDirectory(vddefinitionXml)); | ||
| 1209 | - } | 1225 | + foreach (var vddefinitionXml in vddefinitionXmlList) { Xml_VirtualDirectoryList.Add(new VirtualDirectory(vddefinitionXml)); } |
| 1226 | + } | ||
| 1227 | + } | ||
| 1228 | + catch { } | ||
| 1229 | + Xml_SendUrlList = new List<SendUrl>(); | ||
| 1230 | + try | ||
| 1231 | + { | ||
| 1232 | + var sendurldefinitionXmlList = GetAllXElements(webappXml, nameof(XmlStructure.WebApplication.SendUrl)); | ||
| 1233 | + if (sendurldefinitionXmlList != null && sendurldefinitionXmlList.Any()) | ||
| 1234 | + { | ||
| 1235 | + foreach (var sendurldefinitionXml in sendurldefinitionXmlList) { Xml_SendUrlList.Add(new SendUrl(sendurldefinitionXml)); } | ||
| 1210 | } | 1236 | } |
| 1211 | } | 1237 | } |
| 1212 | catch { } | 1238 | catch { } |
| @@ -1230,6 +1256,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1230,6 +1256,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
| 1230 | Xml_ForceRemovePool = wadef.Xml_ForceRemovePool; | 1256 | Xml_ForceRemovePool = wadef.Xml_ForceRemovePool; |
| 1231 | Xml_ForceRemoveSite = wadef.Xml_ForceRemoveSite; | 1257 | Xml_ForceRemoveSite = wadef.Xml_ForceRemoveSite; |
| 1232 | Xml_VirtualDirectoryList = wadef.Xml_VirtualDirectoryList.Select(x => new VirtualDirectory(x)).ToList(); | 1258 | Xml_VirtualDirectoryList = wadef.Xml_VirtualDirectoryList.Select(x => new VirtualDirectory(x)).ToList(); |
| 1259 | + Xml_SendUrlList = wadef.Xml_SendUrlList.Select(x => new SendUrl(x)).ToList(); | ||
| 1233 | 1260 | ||
| 1234 | Xml_ImpersonateIdentityConfigFile = wadef.Xml_ImpersonateIdentityConfigFile; | 1261 | Xml_ImpersonateIdentityConfigFile = wadef.Xml_ImpersonateIdentityConfigFile; |
| 1235 | Xml_ImpersonateIdentity = wadef.Xml_ImpersonateIdentity; | 1262 | Xml_ImpersonateIdentity = wadef.Xml_ImpersonateIdentity; |
| @@ -1249,6 +1276,64 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1249,6 +1276,64 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
| 1249 | PhysicalPath = GetValue(nameof(XmlStructure.WebApplication.VirtualDirectory.Attributes.PhysicalPath), vdxml, ""); | 1276 | PhysicalPath = GetValue(nameof(XmlStructure.WebApplication.VirtualDirectory.Attributes.PhysicalPath), vdxml, ""); |
| 1250 | } | 1277 | } |
| 1251 | } | 1278 | } |
| 1279 | + public class SendUrl : XmlLinqBase | ||
| 1280 | + { | ||
| 1281 | + public Vrh.XmlProcessing.UrlElement UrlElement; | ||
| 1282 | + public bool ForcePOST = false; | ||
| 1283 | + public string Name; | ||
| 1284 | + public bool IsOK | ||
| 1285 | + { | ||
| 1286 | + get | ||
| 1287 | + { | ||
| 1288 | + if (string.IsNullOrWhiteSpace(Name)) return false; | ||
| 1289 | + if (!string.IsNullOrWhiteSpace(UrlElement.Url)) return true; | ||
| 1290 | + if (string.IsNullOrWhiteSpace(UrlElement.Area) || string.IsNullOrWhiteSpace(UrlElement.Controller) || string.IsNullOrWhiteSpace(UrlElement.Action)) return false; | ||
| 1291 | + if (UrlElement.UrlParameters!=null && UrlElement.UrlParameters.Any()) | ||
| 1292 | + { | ||
| 1293 | + foreach (var urlparameter in UrlElement.UrlParameters) | ||
| 1294 | + { | ||
| 1295 | + if (string.IsNullOrWhiteSpace(urlparameter.Name)) { return false; } | ||
| 1296 | + if (urlparameter.PassTo != Vrh.XmlProcessing.UrlElement.ParameterTypes.url && urlparameter.PassTo != Vrh.XmlProcessing.UrlElement.ParameterTypes.dict) { return false; } | ||
| 1297 | + } | ||
| 1298 | + } | ||
| 1299 | + return true; | ||
| 1300 | + } | ||
| 1301 | + } | ||
| 1302 | + public SendUrl(SendUrl sendurl) | ||
| 1303 | + { | ||
| 1304 | + Name = sendurl.Name; | ||
| 1305 | + ForcePOST = sendurl.ForcePOST; | ||
| 1306 | + UrlElement = new UrlElement(sendurl.UrlElement); | ||
| 1307 | + } | ||
| 1308 | + public SendUrl(XElement sendurlxmlelement) | ||
| 1309 | + { | ||
| 1310 | + Name = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.Name), sendurlxmlelement, ""); | ||
| 1311 | + ForcePOST = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.ForcePost), sendurlxmlelement, XmlStructure.WebApplication.SendUrl.Attributes.ForcePost.Values.DEFAULT); | ||
| 1312 | + UrlElement = new Vrh.XmlProcessing.UrlElement(); | ||
| 1313 | + UrlElement.Url = GetValue(sendurlxmlelement, ""); | ||
| 1314 | + UrlElement.Protocol = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.protocol), sendurlxmlelement, ""); | ||
| 1315 | + UrlElement.HostName = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.hostname), sendurlxmlelement, ""); | ||
| 1316 | + UrlElement.AppName = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.appname), sendurlxmlelement, ""); | ||
| 1317 | + UrlElement.Area = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.area), sendurlxmlelement, ""); | ||
| 1318 | + UrlElement.Controller = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.controller), sendurlxmlelement, ""); | ||
| 1319 | + UrlElement.Action = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.action), sendurlxmlelement, ""); | ||
| 1320 | + UrlElement.Fragment = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Attributes.fragment), sendurlxmlelement, ""); | ||
| 1321 | + UrlElement.UrlParameters = new List<UrlElement.UrlParameter>(); | ||
| 1322 | + var urlparameterxmllist = sendurlxmlelement.Elements(nameof(XmlStructure.WebApplication.SendUrl.Parameter)); | ||
| 1323 | + if (urlparameterxmllist != null) | ||
| 1324 | + { | ||
| 1325 | + foreach (var urlparameterxml in urlparameterxmllist) | ||
| 1326 | + { | ||
| 1327 | + UrlElement.UrlParameters.Add(new UrlElement.UrlParameter() | ||
| 1328 | + { | ||
| 1329 | + Name = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Parameter.Attributes.Name), urlparameterxml, ""), | ||
| 1330 | + PassTo = GetValue(nameof(XmlStructure.WebApplication.SendUrl.Parameter.Attributes.PassTo), urlparameterxml, Vrh.XmlProcessing.UrlElement.ParameterTypes.url), | ||
| 1331 | + Value = GetValue(urlparameterxml, ""), | ||
| 1332 | + }); | ||
| 1333 | + } | ||
| 1334 | + } | ||
| 1335 | + } | ||
| 1336 | + } | ||
| 1252 | 1337 | ||
| 1253 | #region XmlStructure | 1338 | #region XmlStructure |
| 1254 | public static class XmlStructure | 1339 | public static class XmlStructure |
| @@ -1285,6 +1370,29 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | @@ -1285,6 +1370,29 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS | ||
| 1285 | public static class PhysicalPath {} | 1370 | public static class PhysicalPath {} |
| 1286 | } | 1371 | } |
| 1287 | } | 1372 | } |
| 1373 | + public static class SendUrl | ||
| 1374 | + { | ||
| 1375 | + public static class Attributes | ||
| 1376 | + { | ||
| 1377 | + public static class Name { } | ||
| 1378 | + public static class ForcePost { public static class Values { public static bool DEFAULT = false; } } | ||
| 1379 | + public static class protocol { } | ||
| 1380 | + public static class hostname { } | ||
| 1381 | + public static class appname { } | ||
| 1382 | + public static class area { } | ||
| 1383 | + public static class controller { } | ||
| 1384 | + public static class action { } | ||
| 1385 | + public static class fragment { } | ||
| 1386 | + } | ||
| 1387 | + public static class Parameter | ||
| 1388 | + { | ||
| 1389 | + public static class Attributes | ||
| 1390 | + { | ||
| 1391 | + public static class PassTo { } | ||
| 1392 | + public static class Name { } | ||
| 1393 | + } | ||
| 1394 | + } | ||
| 1395 | + } | ||
| 1288 | } | 1396 | } |
| 1289 | } | 1397 | } |
| 1290 | #endregion XmlStructure | 1398 | #endregion XmlStructure |
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.14.0.0")] | ||
| 36 | -[assembly: AssemblyFileVersion("1.14.0.0")] | 35 | +[assembly: AssemblyVersion("1.15.0.0")] |
| 36 | +[assembly: AssemblyFileVersion("1.15.0.0")] |
Vrh.Log4Pro.MaintenanceConsole/Vrh.Log4Pro.MaintenanceConsole.csproj
| @@ -353,8 +353,8 @@ | @@ -353,8 +353,8 @@ | ||
| 353 | <Reference Include="Vrh.Web.Providers, Version=2.0.2.0, Culture=neutral, processorArchitecture=MSIL"> | 353 | <Reference Include="Vrh.Web.Providers, Version=2.0.2.0, Culture=neutral, processorArchitecture=MSIL"> |
| 354 | <HintPath>..\packages\VRH.Web.Providers.2.0.2\lib\net452\Vrh.Web.Providers.dll</HintPath> | 354 | <HintPath>..\packages\VRH.Web.Providers.2.0.2\lib\net452\Vrh.Web.Providers.dll</HintPath> |
| 355 | </Reference> | 355 | </Reference> |
| 356 | - <Reference Include="Vrh.XmlProcessing, Version=1.30.0.0, Culture=neutral, processorArchitecture=MSIL"> | ||
| 357 | - <HintPath>..\packages\Vrh.XmlProcessing.1.30.0\lib\net45\Vrh.XmlProcessing.dll</HintPath> | 356 | + <Reference Include="Vrh.XmlProcessing, Version=1.30.1.0, Culture=neutral, processorArchitecture=MSIL"> |
| 357 | + <HintPath>..\packages\Vrh.XmlProcessing.1.30.1\lib\net45\Vrh.XmlProcessing.dll</HintPath> | ||
| 358 | </Reference> | 358 | </Reference> |
| 359 | <Reference Include="WindowsBase" /> | 359 | <Reference Include="WindowsBase" /> |
| 360 | </ItemGroup> | 360 | </ItemGroup> |
Vrh.Log4Pro.MaintenanceConsole/packages.config
| @@ -75,5 +75,5 @@ | @@ -75,5 +75,5 @@ | ||
| 75 | <package id="System.Xml.XDocument" version="4.0.11" targetFramework="net472" /> | 75 | <package id="System.Xml.XDocument" version="4.0.11" targetFramework="net472" /> |
| 76 | <package id="VRH.Common" version="2.23.1" targetFramework="net472" /> | 76 | <package id="VRH.Common" version="2.23.1" targetFramework="net472" /> |
| 77 | <package id="VRH.Web.Providers" version="2.0.2" targetFramework="net472" /> | 77 | <package id="VRH.Web.Providers" version="2.0.2" targetFramework="net472" /> |
| 78 | - <package id="Vrh.XmlProcessing" version="1.30.0" targetFramework="net472" /> | 78 | + <package id="Vrh.XmlProcessing" version="1.30.1" targetFramework="net472" /> |
| 79 | </packages> | 79 | </packages> |
| 80 | \ No newline at end of file | 80 | \ No newline at end of file |