Csharp/C Sharp by API/System.Messaging/MessageQueue
Содержание
MessageQueue.Create(String value)
<source lang="csharp">
using System; using System.Messaging;
class Program {
static void Main(string[] args) { using (MessageQueue queue = MessageQueue.Create(@".\MyNewPublicQueue")) { Console.WriteLine("Queue created:"); Console.WriteLine("Path: {0}", queue.Path); Console.WriteLine("FormatName: {0}", queue.FormatName); } Console.ReadLine(); }
}
</source>
MessageQueue.Exists(String value)
<source lang="csharp"> using System; using System.Messaging; [Serializable] class MyMessage {
private string data; public MyMessage(string data) { this.data = data; }
public override string ToString() { return data; }
} class Program {
static void Main(string[] args) { try { if (!MessageQueue.Exists(@".\Private$\MyPrivateQueue")) { MessageQueue.Create(@".\Private$\MyPrivateQueue"); } MessageQueue queue = new MessageQueue(@".\Private$\MyPrivateQueue"); queue.Formatter = new BinaryMessageFormatter(); queue.Send("Sample Message", "Label"); MyMessage m = new MyMessage("xxx"); queue.Send(m, "Binary Test"); } catch (MessageQueueException ex) { Console.WriteLine(ex.Message); } }
}
</source>
MessageQueue.Send
<source lang="csharp"> using System; using System.Messaging; class MainClass {
[STAThread] static void Main(string[] args) { MessageQueue txq1 = new MessageQueue( @".\Private$\txq1" ); for ( int i =1; i <= 20; i++ ) { Message msgOut = new Message(); msgOut.Body = "Message " + i; txq1.Send( msgOut, MessageQueueTransactionType.Single ); } }
}
</source>
new MessageQueue
<source lang="csharp"> using System; using System.Messaging; class MainClass {
[STAThread] static void Main(string[] args) { MessageQueue txq1 = new MessageQueue( @".\Private$\txq1" ); for ( int i =1; i <= 20; i++ ) { Message msgOut = new Message(); msgOut.Body = "Message " + i; txq1.Send( msgOut, MessageQueueTransactionType.Single ); } }
}
</source>