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


C# MessageQueue.CreateCursor方法代码示例

本文整理汇总了C#中System.Messaging.MessageQueue.CreateCursor方法的典型用法代码示例。如果您正苦于以下问题:C# MessageQueue.CreateCursor方法的具体用法?C# MessageQueue.CreateCursor怎么用?C# MessageQueue.CreateCursor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Messaging.MessageQueue的用法示例。


在下文中一共展示了MessageQueue.CreateCursor方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetMessageCount

        static uint GetMessageCount(MessageQueue q)
        {
            uint count = 0;
            var cursor = q.CreateCursor();

            var m = PeekWithoutTimeout(q, cursor, PeekAction.Current);
            if (m != null)
            {
                count = 1;
                while ((PeekWithoutTimeout(q, cursor, PeekAction.Next)) != null)
                {
                    count++;
                }
            }

            return count;
        }
开发者ID:nls75,项目名称:RebusSnoop,代码行数:17,代码来源:MessageQueueExtensions.cs

示例2: Main

        static void Main(string[] args)
        {
            string serverName;
            if (args.Length == 0)
            {
                Console.WriteLine("Assuming trasa1000 as the server name");
                serverName = "trasa1000";
            }
            else
            {
                serverName = args[0];
            }

            string queueName = "FormatName:DIRECT=OS:" + serverName + @"\private$\TwitterRequest";

            using (connection = ConnectionFactory.Create())
            {
                connection.Open();
                cmd = new SqlCommand("FirstFriend", connection)
                          {
                              CommandType = CommandType.StoredProcedure
                          };
                cmd.Parameters.Add("@name", SqlDbType.NVarChar, 255);

                using (var q = new MessageQueue(queueName)
                                   {
                                       MessageReadPropertyFilter = { AppSpecific = true },
                                       Formatter = new BinaryMessageFormatter()
                                   })
                {
                    var cursor = q.CreateCursor();

                    // first one:
                    var m = PeekWithoutTimeout(q, cursor, PeekAction.Current);
                    VerifyMessage(q, m);

                    // loop the rest:
                    while ((m = PeekWithoutTimeout(q, cursor, PeekAction.Next)) != null)
                    {
                        VerifyMessage(q, m);
                    }
                }
            }
        }
开发者ID:trasa,项目名称:TwitDegrees,代码行数:44,代码来源:Program.cs

示例3: Index

        //
        // GET: /Payment/

        public ActionResult Index() {
            IDictionary<PaymentModel, string> model = new Dictionary<PaymentModel, string>();
            if (MessageQueue.Exists(".\\Private$\\easyTravelPaymentQueue")) {
                using (MessageQueue mq = new MessageQueue(".\\Private$\\easyTravelPaymentQueue")) {
                    //mq.Formatter = new XmlMessageFormatter();
                    ((XmlMessageFormatter)mq.Formatter).TargetTypes = new Type[] { typeof(PaymentModel) };
                    Cursor c = mq.CreateCursor();
                    Message[] msgs = mq.GetAllMessages();
                    if (msgs != null) {
                        foreach (Message m in msgs) {
                            model.Add((PaymentModel)m.Body, m.Label);
                        }
                    }
                }
            } else {
                log.Warn("Queue \".\\Private$\\easyTravelPaymentQueue\" does not exist");
            }
            return View(model);
        }
开发者ID:daniel-busquets,项目名称:ET21,代码行数:22,代码来源:PaymentController.cs

示例4: PeekAllMessage

        public MessageInfo PeekAllMessage(StructuredQueue oQueueTemp, int myID, int MaxQuery)
        {
            //Message messages = null;
            MessageInfo MyInfo = new MessageInfo();
            try
            {

                MessageQueue MessageInQueue = new System.Messaging.MessageQueue(oQueueTemp.sPath, QueueAccessMode.SendAndReceive);
                System.Messaging.Cursor cursor = MessageInQueue.CreateCursor();
                Message m = PeekWithoutTimeout(MessageInQueue, cursor, PeekAction.Current);
                Application.DoEvents();
                ArrayList MyMessage = new ArrayList();
                MessageInQueue.MessageReadPropertyFilter.Id = true;
                MessageInQueue.MessageReadPropertyFilter.Priority = true;
                MessageInQueue.MessageReadPropertyFilter.SentTime = true;
                MessageInQueue.MessageReadPropertyFilter.MessageType = true;
                MessageInQueue.MessageReadPropertyFilter.Label = true;
                MessageInQueue.MessageReadPropertyFilter.Body = true;
                MessageInQueue.BeginPeek(new TimeSpan(0, 0, 10, 0));
                //MessageEnumerator msgQenum = MessageInQueue.GetMessageEnumerator2();
                int index = 0;
                //  MyInfo.ID = MessageInQueue.GetAllMessages().Length;
                if (m != null)
                {
                    while ((m = PeekWithoutTimeout(MessageInQueue, cursor, PeekAction.Current)) != null)
                    //while (msgQenum.MoveNext())
                    {
                        Application.DoEvents();

                        if (!(index > MaxQuery))
                        {
                            //                       messages = msgQenum.Current;
                            QueueInfos QueueInfo = new QueueInfos();
                            //QueueInfo.ID = messages.Id;
                            //QueueInfo.SentTime = messages.SentTime.ToString();
                            //QueueInfo.Body = ReadMessageStream(messages.BodyStream);
                            //QueueInfo.Label = messages.Label;
                            //QueueInfo.Priority = messages.Priority.ToString();
                            //QueueInfo.MessageID = index.ToString();
                            //QueueInfo.Transact = oQueueTemp.bTransactional;
                            //QueueInfo.Queue = oQueueTemp.sQueueName;
                            QueueInfo.ID = m.Id;
                            QueueInfo.SentTime = m.SentTime.ToString();
                            QueueInfo.Body = ReadMessageStream(m.BodyStream);
                            QueueInfo.Label = m.Label;
                            QueueInfo.Priority = m.Priority.ToString();
                            QueueInfo.MessageID = index.ToString();
                            QueueInfo.Transact = oQueueTemp.bTransactional;

                            QueueInfo.Queue = oQueueTemp.sQueueName;
                            MyMessage.Add(QueueInfo);
                        }
                        index++;
                        PeekWithoutTimeout(MessageInQueue, cursor, PeekAction.Next);
                    }
                }
                MyInfo.ID = index;
                MyInfo.Message = MyMessage;

            }
            catch  {}

                return MyInfo;
        }
开发者ID:ramonsmits,项目名称:qexplorer,代码行数:64,代码来源:MSMQXplorer.cs


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