当前位置: 首页>>代码示例>>C#>>正文


C# MessageQueue.EndReceive方法代码示例

本文整理汇总了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();


        }
开发者ID:mrchief,项目名称:distributed-playpen,代码行数:57,代码来源:Program.cs

示例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();
        }
开发者ID:xqlcrystal,项目名称:MSMQStudy,代码行数:13,代码来源:Requestor.cs

示例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;
        }
开发者ID:dshaneg,项目名称:msmq-playground,代码行数:14,代码来源:MessageQueueExtensions.cs


注:本文中的System.Messaging.MessageQueue.EndReceive方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。