using System; using System.Collections.Generic; using System.Linq; using System.Messaging; using System.Text; using System.Threading.Tasks; namespace Vrh.Log4Pro.MaintenanceConsole { class Manager___MSMQManager { void CreateQueue() { string ccs = @"localhost\private$\ljskskin"; string msmqservername = ""; bool msmqprivate = true; string msmqname = ""; string msmqFullname = msmqservername + "\\" + (msmqprivate ? "private$\\" : msmqname); if (!MessageQueue.Exists(ccs)) { MessageQueue.Create(msmqFullname); } } void DeleteQueue() { string ccs = @"localhost\private$\ljskskin"; if (MessageQueue.Exists(ccs)) { MessageQueue.Delete(ccs); } } void Purge() { string ccs = @"localhost\private$\ljskskin"; var msmq = new MessageQueue(ccs); msmq.Purge(); } void Peek() { string ccs = @"localhost\private$\ljskskin"; var msmq = new MessageQueue(ccs); Message m = msmq.Peek(new TimeSpan(0)); m.BodyStream.Position = 0; var sr = new System.IO.StreamReader(m.BodyStream); var label = m.Label; var body = sr.ReadToEnd().Replace(((char)0).ToString(), ""); } void Read() { string ccs = @"localhost\private$\ljskskin"; var msmq = new MessageQueue(ccs); var frmA = new System.Messaging.ActiveXMessageFormatter(); var frmB = new System.Messaging.BinaryMessageFormatter(); var frmX = new System.Messaging.XmlMessageFormatter(); msmq.Formatter = frmA; Message m = msmq.Receive(new TimeSpan(0)); m.BodyStream.Position = 0; Encoding enc = System.Text.Encoding.UTF8; enc = System.Text.Encoding.UTF7; enc = System.Text.Encoding.UTF32; enc = System.Text.Encoding.Unicode; enc = System.Text.Encoding.BigEndianUnicode; enc = System.Text.Encoding.ASCII; enc = System.Text.Encoding.Default; var sr = new System.IO.StreamReader(m.BodyStream, enc); var label = m.Label; var body = sr.ReadToEnd().Replace(((char)0).ToString(), ""); } void Send() { string ccs = @"localhost\private$\ljskskin"; var frmA = new System.Messaging.ActiveXMessageFormatter(); var msmq = new MessageQueue(ccs); msmq.Formatter = frmA; string messagetosend = ""; string messagelabel = ""; Encoding enc = System.Text.Encoding.UTF8; byte[] encodedmessage = enc.GetBytes(messagetosend); msmq.Send(encodedmessage, messagelabel); } } }