using System; namespace ClassLibraryMSMQMessages.Zip { /// <summary> /// Contains the different properties to zip a file. /// </summary> /// [Serializable] public class ZipMessage { private string _fileName, _zipName, _saveLocation; public ZipMessage() { } /// <summary> /// Constructor /// </summary> /// <param name="fileName">Absolute path name of the file to zip</param> /// <param name="zipName">Zip name</param> /// <param name="saveLocationPath">Save directory path</param> public ZipMessage(string fileName, string zipName, string saveLocationPath) { _fileName = fileName; _zipName = zipName; _saveLocation = saveLocationPath; } /// <summary> /// Absolute path name of the file to zip /// </summary> public string FileName { get { return _fileName; } set { _fileName = value; } } /// <summary> /// Zip Name /// </summary> public string ZipName { get { return _zipName; } set { _zipName = value; } } /// <summary> /// Save directory path /// </summary> public string SaveLocationPath { get { return _saveLocation; } set { _saveLocation = value; } } } }
if (!MessageQueue.Exists(messageQueueZip.Path)) MessageQueue.Create(messageQueueZip.Path);
try { // Create message ZipMessage msg = new ZipMessage(textBoxSelectedPath.Text, System.IO.Path.GetFileNameWithoutExtension(textBoxSelectedPath.Text), @"c:\temp\zipFiles"); // Send message messageQueueZip.Send(msg); // Logs labelLog.Text = "Msg sended"; } catch { labelLog.Text = "Send message error"; }
while(true && !_stopZipThread) { Thread.Sleep(1000); try { ClassLibraryMSMQMessages.Zip.ZipMessage msg = (ClassLibraryMSMQMessages.Zip.ZipMessage)messageQueue1.Receive(new TimeSpan(0,0,1)).Body; CreateZipFromMessage(msg); } catch (MessageQueueException) { listBoxZipFiles.Items.Insert(0,"No message"); } }