Manager - MSMQManager.cs 2.31 KB
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);
		}
	}
}