AspComet.Client.Enqueue C# (CSharp) Метод

Enqueue() публичный Метод

public Enqueue ( IEnumerable messages ) : void
messages IEnumerable
Результат void
        public void Enqueue(IEnumerable<Message> messages)
        {
            lock (this.syncRoot)
            {
                foreach (Message message in messages)
                {
                    this.messageQueue.Enqueue(message);
                }
            }

            this.LastMessageTime = SystemTime.Now();
            this.timer.Enabled = true;
        }

Usage Example

Пример #1
0
        public void HandleMessages(Message[] messages, CometAsyncResult asyncResult)
        {
            // Do this before we process the messages in case it's a disconnect
            Client sendingClient = GetSenderOf(messages);

            IMessagesProcessor processor = this.CreateProcessorAndProcess(messages);

            if (sendingClient == null)
            {
                asyncResult.CompleteRequestWithMessages(processor.Result);
                return;
            }

            if (sendingClient.CurrentAsyncResult != null)
            {
                sendingClient.FlushQueue();
            }

            sendingClient.CurrentAsyncResult = asyncResult;
            sendingClient.Enqueue(processor.Result);

            if (processor.ShouldSendResultStraightBackToClient)
            {
                sendingClient.FlushQueue();
            }
        }