本文整理汇总了C#中System.Messaging.MessageQueue.EndReceive方法的典型用法代码示例。如果您正苦于以下问题:C# MessageQueue.EndReceive方法的具体用法?C# MessageQueue.EndReceive怎么用?C# MessageQueue.EndReceive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Messaging.MessageQueue
的用法示例。
在下文中一共展示了MessageQueue.EndReceive方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
private static void Main()
{
//var factory = new ConnectionFactory() { HostName = "localhost" };
//using (var connection = factory.CreateConnection())
//using (var channel = connection.CreateModel())
//{
// channel.QueueDeclare(queue: "hello", durable: false, exclusive: false, autoDelete: false, arguments: null);
// var consumer = new EventingBasicConsumer(channel);
// consumer.Received += (model, ea) =>
// {
// var body = ea.Body;
// var message = Encoding.UTF8.GetString(body);
// Console.WriteLine(" [x] Received {0}", message);
// };
// channel.BasicConsume(queue: "hello", noAck: true, consumer: consumer);
// Console.WriteLine(" Press [enter] to exit.");
// Console.ReadLine();
//}
//while (true)
//{
try
{
var queue = new MessageQueue(@".\Private$\HelloWorld")
{
Formatter = new XmlMessageFormatter(new[] { "".GetType() })
};
queue.ReceiveCompleted += (sender, e) =>
{
var msg = queue.EndReceive(e.AsyncResult);
Console.WriteLine(msg.Body.ToString());
queue.BeginReceive();
};
queue.BeginReceive();
//var message = queue.Receive(new TimeSpan(0, 0, 1));
//message.Formatter = new XmlMessageFormatter(
// new String[] { "System.String, mscorlib" });
//Console.WriteLine(message.Body.ToString());
}
catch (Exception ex)
{
Console.WriteLine("No Message");
}
//Thread.Sleep(100);
//}
Console.WriteLine("Listening... Press any key to quit");
Console.ReadLine();
}
示例2: replyQueue_ReceiveCompleted
void replyQueue_ReceiveCompleted(object sender, ReceiveCompletedEventArgs e)
{
replyQueue = (MessageQueue)sender;
Message replyMessage = replyQueue.EndReceive(e.AsyncResult);
Console.WriteLine("Received reply");
Console.WriteLine("\tTime: {0}", DateTime.Now.ToString("HH:mm:ss.ffffff"));
Console.WriteLine("\tMessage ID: {0}", replyMessage.Id);
Console.WriteLine("\tCorrel: {0}", replyMessage.CorrelationId);
Console.WriteLine("\tReply To : {0}", "<n/a>");
Console.WriteLine("\tContents: {0}", replyMessage.Body.ToString());
replyQueue.BeginReceive();
}
示例3: Receive
private static Message Receive(MessageQueue queue, CancellationToken cancelToken)
{
var receiveAsyncResult = queue.BeginReceive();
WaitHandle.WaitAny(new[] { receiveAsyncResult.AsyncWaitHandle, cancelToken.WaitHandle });
Message message = null;
if (!cancelToken.IsCancellationRequested)
{
message = queue.EndReceive(receiveAsyncResult);
}
return message;
}