Commit 468b291cc2ff900f605072a30d6722c61513a446
1 parent
b83e80f6
v1.11.2.0
- MSMQ Manager-ben apró javítások
Showing
2 changed files
with
73 additions
and
47 deletions
Show diff stats
Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
... | ... | @@ -15,7 +15,7 @@ using Vrh.XmlProcessing; |
15 | 15 | using VRH.Common; |
16 | 16 | using System.Xml.Linq; |
17 | 17 | using System.Text.RegularExpressions; |
18 | - | |
18 | +using System.ComponentModel; | |
19 | 19 | |
20 | 20 | namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
21 | 21 | { |
... | ... | @@ -72,7 +72,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
72 | 72 | MSMQ st = p.Parameters as MSMQ; |
73 | 73 | try |
74 | 74 | { |
75 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
75 | + var fullpath = st.Xml_FullPath; | |
76 | 76 | MSMQManagerCore.CreateQueue(fullpath, st.Xml_Label); |
77 | 77 | ColorConsole.WriteLine($"MSMQ:{st.Xml_Name} created.", ConsoleColor.Green); |
78 | 78 | foreach (var accessright in st.Xml_AccessRights) |
... | ... | @@ -106,7 +106,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
106 | 106 | MSMQ st = p.Parameters as MSMQ; |
107 | 107 | try |
108 | 108 | { |
109 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
109 | + var fullpath = st.Xml_FullPath; | |
110 | 110 | MSMQManagerCore.DeleteQueue(fullpath); |
111 | 111 | ColorConsole.WriteLine($"MSMQ:{st.Xml_Name} removed.", ConsoleColor.Green); |
112 | 112 | } |
... | ... | @@ -138,7 +138,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
138 | 138 | { |
139 | 139 | foreach (var accessright in st.Xml_AccessRights) |
140 | 140 | { |
141 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
141 | + var fullpath = st.Xml_FullPath; | |
142 | 142 | MSMQManagerCore.SetPermissions(fullpath, accessright.un, accessright.ar, accessright.ac); |
143 | 143 | string ctrlstring = accessright.AccessControlEntryTypeText(); |
144 | 144 | ColorConsole.WriteLine($"Access right {accessright.ar} {ctrlstring} for user:{accessright.un}.", ConsoleColor.Green); |
... | ... | @@ -171,12 +171,12 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
171 | 171 | |
172 | 172 | while (true) |
173 | 173 | { |
174 | - string username = ColorConsole.ReadLine("Enter username:", ConsoleColor.Yellow,defaultvalue:defaultusername); | |
174 | + string username = ColorConsole.ReadLine("Enter username:", ConsoleColor.Yellow, defaultvalue: defaultusername); | |
175 | 175 | if (username.ToUpper() == "EX") { break; } |
176 | 176 | |
177 | - string accessrightsstring = ColorConsole.ReadLine("Enter access right:", ConsoleColor.Yellow, validitylist: Enum.GetNames(typeof(MessageQueueAccessRights)).Select(e=>e.ToString()).ToList(), defaultvalue: defaultaccessrightsstring); | |
177 | + string accessrightsstring = ColorConsole.ReadLine("Enter access right:", ConsoleColor.Yellow, validitylist: Enum.GetNames(typeof(MessageQueueAccessRights)).Select(e => e.ToString()).ToList(), defaultvalue: defaultaccessrightsstring); | |
178 | 178 | if (accessrightsstring.ToUpper() == "EX") { break; } |
179 | - var accessrights = (MessageQueueAccessRights)Enum.Parse(typeof(MessageQueueAccessRights),accessrightsstring); | |
179 | + var accessrights = (MessageQueueAccessRights)Enum.Parse(typeof(MessageQueueAccessRights), accessrightsstring); | |
180 | 180 | |
181 | 181 | string controltypestring = ColorConsole.ReadLine("Enter access right:", ConsoleColor.Yellow, validitylist: Enum.GetNames(typeof(AccessControlEntryType)).Select(e => e.ToString()).ToList(), defaultvalue: defaultcontroltypestring); |
182 | 182 | if (controltypestring.ToUpper() == "EX") { break; } |
... | ... | @@ -187,7 +187,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
187 | 187 | MSMQ st = p.Parameters as MSMQ; |
188 | 188 | try |
189 | 189 | { |
190 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
190 | + var fullpath = st.Xml_FullPath; | |
191 | 191 | MSMQManagerCore.SetPermissions(fullpath, username, accessrights, controltype); |
192 | 192 | ColorConsole.WriteLine($"Permissions set for MSMQ:{st.Xml_Name}. Username:{username}, access right: {accessrights}, control type: {controltype}", ConsoleColor.Green); |
193 | 193 | } |
... | ... | @@ -211,14 +211,14 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
211 | 211 | string sn; |
212 | 212 | while (true) |
213 | 213 | { |
214 | - sn = ColorConsole.ReadLine("Enter server ip/name to get queue info from (enter . for localhost)",defaultvalue:sndefault); | |
214 | + sn = ColorConsole.ReadLine("Enter server ip/name to get queue info from (enter . for localhost)", defaultvalue: sndefault); | |
215 | 215 | if (sn.ToLower() == "ex") { return o; } |
216 | 216 | sndefault = sn; |
217 | 217 | |
218 | 218 | List<System.Messaging.MessageQueue> queuearray = new List<System.Messaging.MessageQueue>(); |
219 | 219 | queuearray = System.Messaging.MessageQueue.GetPrivateQueuesByMachine(sn).ToList(); |
220 | 220 | |
221 | - var menumsmqs = DisplayMSMQMenu(queuearray.Select((q, ixx) => new MSMQ(q, "Q"+((ixx + 1).ToString()))).ToList(), $"Select the MSMQ(s) on server '{sn}'!", silent: false,midf: DisplayMSMQShortInfo) | |
221 | + var menumsmqs = DisplayMSMQMenu(queuearray.Select((q, ixx) => new MSMQ(q, "Q" + ((ixx + 1).ToString()))).ToList(), $"Select the MSMQ(s) on server '{sn}'!", silent: false, midf: DisplayMSMQShortInfo) | |
222 | 222 | .SetSelectionMode(Menu.SelectionMode.Multi); |
223 | 223 | |
224 | 224 | Menu.Selection sr = menumsmqs.Select(); |
... | ... | @@ -235,12 +235,12 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
235 | 235 | var sp = SendParameters.Get(msmq.Xml_Encoding, msmq.Xml_Formatter); |
236 | 236 | if (sp != null) |
237 | 237 | { |
238 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(msmq.Xml_AddressPrefix, msmq.Xml_Server, msmq.Xml_Name); | |
238 | + var fullpath = msmq.Xml_FullPath; | |
239 | 239 | MSMQManagerCore.Send(fullpath, sp.messagebody, sp.messagelabel, sp.messageformatter, sp.encoding); |
240 | 240 | ColorConsole.WriteLine($"Sending to '{fullpath}' ....", ConsoleColor.Yellow); |
241 | 241 | Message msg = MSMQManagerCore.PeekLast(fullpath, sp.messageformatter, sp.encoding, out string body, out string label); |
242 | 242 | TestSendCheckMessage(fullpath, msg, sp, body, label, "message sending/peek back"); |
243 | - var ans = ColorConsole.ReadLine($"Do You want to remove this test message (lookup id='{msg.LookupId}') from quue?", ConsoleColor.Yellow,validitylist:new List<string> { "yes","no"},defaultvalue:"yes"); | |
243 | + var ans = ColorConsole.ReadLine($"Do You want to remove this test message (lookup id='{msg.LookupId}') from quue?", ConsoleColor.Yellow, validitylist: new List<string> { "yes", "no" }, defaultvalue: "yes"); | |
244 | 244 | if (ans.ToLower() == "yes") |
245 | 245 | { |
246 | 246 | msg = MSMQManagerCore.ReadById(fullpath, msg.LookupId, sp.messageformatter, sp.encoding, out body, out label); |
... | ... | @@ -253,7 +253,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
253 | 253 | return o; |
254 | 254 | } |
255 | 255 | |
256 | - private static void TestSendCheckMessage(string fullpath,Message msg, SendParameters sp, string body, string label,string actiontext) | |
256 | + private static void TestSendCheckMessage(string fullpath, Message msg, SendParameters sp, string body, string label, string actiontext) | |
257 | 257 | { |
258 | 258 | if (sp.messagebody == body && sp.messagelabel == label) { ColorConsole.WriteLine($"Success! Action:{actiontext}. Queue:'{fullpath}'.", ConsoleColor.Green); } |
259 | 259 | else |
... | ... | @@ -310,7 +310,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
310 | 310 | { |
311 | 311 | var messageformatter = MSMQManagerCore.SetFormatter(st.Xml_Formatter); //new ActiveXMessageFormatter(); |
312 | 312 | var encoding = MSMQManagerCore.SetEncoding(st.Xml_Encoding); // Encoding.UTF8; |
313 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
313 | + var fullpath = st.Xml_FullPath; | |
314 | 314 | MSMQManagerCore.Peek(fullpath, messageformatter, encoding, out string msgbody, out string msglabel); |
315 | 315 | ColorConsole.WriteLine($"Message peeked from MSMQ:{st.Xml_Name}", ConsoleColor.Green); |
316 | 316 | ColorConsole.WriteLine($" Body: {msgbody}", ConsoleColor.Yellow); |
... | ... | @@ -346,7 +346,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
346 | 346 | { |
347 | 347 | var messageformatter = MSMQManagerCore.SetFormatter(st.Xml_Formatter); //new ActiveXMessageFormatter(); |
348 | 348 | var encoding = MSMQManagerCore.SetEncoding(st.Xml_Encoding); // Encoding.UTF8; |
349 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
349 | + var fullpath = st.Xml_FullPath; | |
350 | 350 | MSMQManagerCore.Read(fullpath, messageformatter, encoding, out string msgbody, out string msglabel); |
351 | 351 | ColorConsole.WriteLine($"Message read from MSMQ:{st.Xml_Name}", ConsoleColor.Green); |
352 | 352 | ColorConsole.WriteLine($" Body: {msgbody}", ConsoleColor.Yellow); |
... | ... | @@ -368,7 +368,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
368 | 368 | |
369 | 369 | var menufolders = DisplayMSMQMenuFromXml(config, $"Select the MSMQ(s) to manage with function '{nameof(Send)}'!", silent: true) |
370 | 370 | .SetSelectionMode(Menu.SelectionMode.Single); |
371 | - | |
371 | + | |
372 | 372 | Menu.Selection sr = menufolders.Select(selectedtaskindexes); |
373 | 373 | if (sr.Result == Menu.SelectionResult.Exit) { return o; } |
374 | 374 | else if (sr.Result == Menu.SelectionResult.None) { return o; } |
... | ... | @@ -385,8 +385,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
385 | 385 | var sp = SendParameters.Get(st.Xml_Encoding, st.Xml_Formatter); |
386 | 386 | if (sp == null) { break; } |
387 | 387 | |
388 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
389 | - MSMQManagerCore.Send(fullpath,sp.messagebody, sp.messagelabel, sp.messageformatter, sp.encoding); | |
388 | + var fullpath = st.Xml_FullPath; | |
389 | + MSMQManagerCore.Send(fullpath, sp.messagebody, sp.messagelabel, sp.messageformatter, sp.encoding); | |
390 | 390 | ColorConsole.WriteLine($"Message sent to MSMQ:{st.Xml_Name}.", ConsoleColor.Green); |
391 | 391 | } |
392 | 392 | catch (ApplicationException ex) { ColorConsole.WriteLine(ex.Message, ConsoleColor.Red); } |
... | ... | @@ -424,9 +424,9 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
424 | 424 | public IMessageFormatter messageformatter; |
425 | 425 | public Encoding encoding; |
426 | 426 | public SendParameters() { } |
427 | - public static SendParameters Get(string defaultencoding, string defaultformatter) | |
427 | + public static SendParameters Get(string defaultencoding, string defaultformatter) | |
428 | 428 | { |
429 | - ColorConsole.WriteLine("Enter test message data!",ConsoleColor.Yellow); | |
429 | + ColorConsole.WriteLine("Enter test message data!", ConsoleColor.Yellow); | |
430 | 430 | var sp = new SendParameters() { }; |
431 | 431 | var now = DateTime.Now.ToString(); |
432 | 432 | sp.messagebody = ColorConsole.ReadLine("Enter message body:", ConsoleColor.Yellow, defaultvalue: "TEST MESSAGE " + now); |
... | ... | @@ -468,7 +468,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
468 | 468 | MSMQ st = p.Parameters as MSMQ; |
469 | 469 | try |
470 | 470 | { |
471 | - var fullpath = MSMQManagerCore.CreateFullQueuePath(st.Xml_AddressPrefix, st.Xml_Server, st.Xml_Name); | |
471 | + var fullpath = st.Xml_FullPath; | |
472 | 472 | MSMQManagerCore.Purge(fullpath); |
473 | 473 | ColorConsole.WriteLine($"MSMQ messages purged. Name:{st.Xml_Name}", ConsoleColor.Green); |
474 | 474 | } |
... | ... | @@ -485,9 +485,9 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
485 | 485 | { |
486 | 486 | if (config == null) { config = new MSMQManagerXmlProcessor(XMLCONNECTIONSTRING, "", "hu-HU"); } |
487 | 487 | List<MSMQ> msmqdefList = config.GetDefinitionList(); |
488 | - return DisplayMSMQMenu(msmqdefList, prompt,silent,DisplayMSMQInfo); | |
488 | + return DisplayMSMQMenu(msmqdefList, prompt, silent, DisplayMSMQInfo); | |
489 | 489 | } |
490 | - private static Menu DisplayMSMQMenu(List<MSMQ> msmqlist = null, string prompt = null, bool silent = false,Menu.MenuItemDisplayerFunc midf=null) | |
490 | + private static Menu DisplayMSMQMenu(List<MSMQ> msmqlist = null, string prompt = null, bool silent = false, Menu.MenuItemDisplayerFunc midf = null) | |
491 | 491 | { |
492 | 492 | List<MSMQ> msmqdefList = msmqlist; |
493 | 493 | var menufct = new Menu("MSMQ list", prompt) |
... | ... | @@ -559,18 +559,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
559 | 559 | successpattern = p; |
560 | 560 | bool isip = IPAddress.TryParse(servername, out IPAddress ip); |
561 | 561 | if (servername == "" || servername == "." || servername.ToLower() == "localhost") { servername = System.Environment.MachineName; } |
562 | - if (formatname == "") | |
563 | - { | |
562 | + if (formatname == "") | |
563 | + { | |
564 | 564 | if (isip) { formatname = @"FormatName:DIRECT=TCP"; addresstype = @"TCP"; } |
565 | 565 | else { formatname = @"FormatName:DIRECT=OS"; addresstype = @"OS"; } |
566 | 566 | } |
567 | - if ((isip && addresstype=="OS") || (!isip && addresstype == "TCP")) { return false; } | |
567 | + if ((isip && addresstype == "OS") || (!isip && addresstype == "TCP")) { return false; } | |
568 | 568 | return true; |
569 | 569 | } |
570 | 570 | } |
571 | 571 | return false; |
572 | 572 | } |
573 | - public static bool CheckIfQueueExists(string servername,string queuefullname) | |
573 | + public static bool CheckIfQueueExists(string servername, string queuefullname) | |
574 | 574 | { |
575 | 575 | if (string.IsNullOrWhiteSpace(servername) || servername == "." || servername.ToLower() == "localhost") { servername = System.Environment.MachineName; } |
576 | 576 | if (servername == "*") |
... | ... | @@ -586,15 +586,15 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
586 | 586 | //var queuenamelist = queuearray.Select(q => q.Path == queuefullname || q.FormatName== queuefullname || q.QueueName== queuefullname).ToList(); |
587 | 587 | //return queuenamelist.Any(); |
588 | 588 | } |
589 | - public static void CreateQueue(string msmqFullname, string label=null) | |
589 | + public static void CreateQueue(string msmqFullname, string label = null) | |
590 | 590 | { |
591 | - if (!MessageQueue.Exists(msmqFullname)) { MessageQueue.Create(msmqFullname); } | |
591 | + if (!MSMQ.IsExists(msmqFullname, out string returnmessage)) { MessageQueue.Create(msmqFullname); } | |
592 | 592 | using (var msmq = new MessageQueue(msmqFullname)) |
593 | 593 | { |
594 | 594 | if (!string.IsNullOrWhiteSpace(label)) { msmq.Label = label; } |
595 | 595 | } |
596 | 596 | } |
597 | - public static void SetPermissions(string msmqFullname,string username, MessageQueueAccessRights accessrights, AccessControlEntryType controltype) | |
597 | + public static void SetPermissions(string msmqFullname, string username, MessageQueueAccessRights accessrights, AccessControlEntryType controltype) | |
598 | 598 | { |
599 | 599 | using (var msmq = new MessageQueue(msmqFullname)) |
600 | 600 | { |
... | ... | @@ -621,7 +621,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
621 | 621 | |
622 | 622 | public static void DeleteQueue(string msmqFullname) |
623 | 623 | { |
624 | - if (MessageQueue.Exists(msmqFullname)) { MessageQueue.Delete(msmqFullname); } | |
624 | + if (MSMQ.IsExists(msmqFullname,out string returnmessage)) { MessageQueue.Delete(msmqFullname); } | |
625 | 625 | } |
626 | 626 | public static void Purge(string msmqFullname) |
627 | 627 | { |
... | ... | @@ -747,8 +747,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
747 | 747 | label = ""; |
748 | 748 | using (var msmq = new MessageQueue(msmqFullname)) |
749 | 749 | { |
750 | - if (Count(msmq) == 0) {return null; } | |
751 | - | |
750 | + if (Count(msmq) == 0) { return null; } | |
751 | + | |
752 | 752 | msmq.Formatter = messageformatter; |
753 | 753 | var m = msmq.ReceiveByLookupId(msgid); |
754 | 754 | label = m.Label; |
... | ... | @@ -886,7 +886,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
886 | 886 | public List<AccessRights> Xml_AccessRights = new List<AccessRights>(); |
887 | 887 | public MSMQDefaults(XElement rootxml) |
888 | 888 | { |
889 | - var generalxml = GetXElement(rootxml,nameof(MSMQ.XmlStructure.MSMQManager.General)); | |
889 | + var generalxml = GetXElement(rootxml, nameof(MSMQ.XmlStructure.MSMQManager.General)); | |
890 | 890 | var messagefiles = GetXElement(generalxml, nameof(MSMQ.XmlStructure.MSMQManager.General.MessageFiles)); |
891 | 891 | |
892 | 892 | Xml_MessageFilesDirectory = GetValue(nameof(MSMQ.XmlStructure.MSMQManager.General.MessageFiles.Attributes.Directory), messagefiles, MSMQ.XmlStructure.MSMQManager.General.MessageFiles.Attributes.Directory.Values.DEFAULT); |
... | ... | @@ -945,6 +945,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
945 | 945 | public EncryptionRequired EncryptionRequired; |
946 | 946 | #endregion fields |
947 | 947 | |
948 | + public string Xml_FullPath {get{return MSMQManagerCore.CreateFullQueuePath(this.Xml_AddressPrefix, this.Xml_Server, this.Xml_Name);} } | |
949 | + | |
948 | 950 | #region basic constructor |
949 | 951 | public MSMQ() { } |
950 | 952 | #endregion basic constructor |
... | ... | @@ -1007,22 +1009,38 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
1007 | 1009 | } |
1008 | 1010 | #endregion Xml cloner constructor |
1009 | 1011 | |
1010 | - #region CollectMSMQInfo | |
1011 | - public MSMQ CollectMSMQInfo() | |
1012 | + #region IsExists | |
1013 | + public static bool IsExists(string queueName, out string returnmessage) | |
1014 | + { | |
1015 | + returnmessage = ""; | |
1016 | + //return MessageQueue.Exists(queueName); // nem működik remote messagequeue esetében | |
1017 | + var queue = new MessageQueue(queueName); | |
1018 | + try | |
1019 | + { | |
1020 | + queue.Peek(new TimeSpan(0, 0, 5)); | |
1021 | + return true; | |
1022 | + } | |
1023 | + catch (MessageQueueException ex) | |
1024 | + { | |
1025 | + returnmessage= ex.ErrorCode + ":" + ex.Message + (ex.InnerException != null ? ("\n" + ex.InnerException.Message) : ""); | |
1026 | + return ex.Message.StartsWith("Timeout"); | |
1027 | + } | |
1028 | + } | |
1029 | + #endregion IsExists | |
1030 | + | |
1031 | + #region CollectMSMQInfo | |
1032 | + public MSMQ CollectMSMQInfo() | |
1012 | 1033 | { |
1013 | 1034 | MSMQ msmqdef = this; |
1014 | - string msmqaddressprefix = msmqdef.Xml_AddressPrefix; | |
1015 | - string msmqservername = msmqdef.Xml_Server; | |
1016 | - string msmqFullname = MSMQManagerCore.CreateFullQueuePath(msmqaddressprefix, msmqservername, msmqdef.Xml_Name); | |
1017 | 1035 | msmqdef.QueueName = msmqdef.Xml_Name; |
1018 | - msmqdef.MachineName = msmqservername; | |
1019 | - msmqdef.Path = msmqFullname; | |
1036 | + msmqdef.MachineName = msmqdef.Xml_Server; | |
1037 | + msmqdef.Path = msmqdef.Xml_FullPath; | |
1020 | 1038 | try |
1021 | 1039 | { |
1022 | - msmqdef.Status = MessageQueue.Exists(msmqFullname) ? "Installed" : "Uninstalled"; | |
1040 | + msmqdef.Status = MSMQ.IsExists(msmqdef.Path,out string returnmessage) ? "Installed" : "Uninstalled/Error"; | |
1023 | 1041 | if (msmqdef.Status == "Installed") |
1024 | 1042 | { |
1025 | - using (var msmq = new MessageQueue(msmqFullname)) | |
1043 | + using (var msmq = new MessageQueue(msmqdef.Path)) | |
1026 | 1044 | { |
1027 | 1045 | msmqdef.QueueName = msmq.QueueName; |
1028 | 1046 | msmqdef.MachineName = msmq.MachineName; |
... | ... | @@ -1049,8 +1067,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
1049 | 1067 | msmqdef.Status = "Ready"; |
1050 | 1068 | } |
1051 | 1069 | } |
1070 | + else { msmqdef.StatusDescription = returnmessage; } | |
1071 | + } | |
1072 | + catch (MessageQueueException ex) | |
1073 | + { | |
1074 | + msmqdef.Status = "Error"; msmqdef.StatusDescription = ex.ErrorCode +":"+ ex.Message + (ex.InnerException != null ? ("\n" + ex.InnerException.Message) : ""); | |
1075 | + } | |
1076 | + catch (Exception ex) | |
1077 | + { | |
1078 | + msmqdef.Status = "Error"; msmqdef.StatusDescription = ex.Message + (ex.InnerException != null ? ("\n" + ex.InnerException.Message) : ""); | |
1052 | 1079 | } |
1053 | - catch (Exception ex) { msmqdef.Status = "Error"; msmqdef.StatusDescription = ex.Message + (ex.InnerException != null ? ("\n" + ex.InnerException.Message) : ""); } | |
1054 | 1080 | return msmqdef; |
1055 | 1081 | } |
1056 | 1082 | #endregion CollectMSMQInfo |
... | ... | @@ -1075,7 +1101,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS |
1075 | 1101 | { |
1076 | 1102 | var privatepublictext = msmq.Private ? "private" : "public"; |
1077 | 1103 | ColorConsole.Write($"{msmq.Xml_AddressPrefix}", ConsoleColor.Black, ConsoleColor.White, prefix: "Format:", suffix: $" Queue is { privatepublictext }."); |
1078 | - ColorConsole.Write($"{msmq.Xml_Server}", ConsoleColor.Black, ConsoleColor.White, prefix: "Server:", suffix: $" Queue is { privatepublictext }."); | |
1104 | + ColorConsole.Write($"{msmq.Xml_Server}", ConsoleColor.Black, ConsoleColor.White, prefix: "Server:"); | |
1079 | 1105 | ColorConsole.WriteLine(); |
1080 | 1106 | return " "; |
1081 | 1107 | } | ... | ... |
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.11.1.0")] | |
36 | -[assembly: AssemblyFileVersion("1.11.1.0")] | |
35 | +[assembly: AssemblyVersion("1.11.2.0")] | |
36 | +[assembly: AssemblyFileVersion("1.11.2.0")] | ... | ... |