public CloudQueueMessageMutable(QueueMessage message)
     : base(Convert.FromBase64String(message.Text))
 {
     this.Id = message.Id;
     this.PopReceipt = message.PopReceipt;
     this.NextVisibleTime = message.TimeNextVisible;
     this.ExpirationTime = message.ExpirationTime;
     this.InsertionTime = message.InsertionTime;
     this.Content = message.Text;
 }
Пример #2
0
        /// <summary>Selects the peek message response.</summary>
        /// <param name="protocolMessage">The protocol message. </param>
        /// <returns>The parsed message. </returns>
        private CloudQueueMessage SelectPeekMessageResponse(QueueMessage protocolMessage)
        {
            // if EncodeMessage is true, we assume the string returned from server is Base64 encoding of original message;
            // if this is not true, exception will likely be thrown.
            // it is user's responsibility to make sure EncodeMessage setting matches the queue that is being read.
            var message = this.EncodeMessage
                              ? new CloudQueueMessage(protocolMessage.Text, true)
                              : new CloudQueueMessage(protocolMessage.Text);

            message.Id = protocolMessage.Id;
            message.InsertionTime = protocolMessage.InsertionTime;
            message.ExpirationTime = protocolMessage.ExpirationTime;
            message.DequeueCount = protocolMessage.DequeueCount;

            // PopReceipt and TimeNextVisible are not returned during peek
            return message;
        }
Пример #3
0
        /// <summary>Selects the get message response.</summary>
        /// <param name="protocolMessage">The protocol message. </param>
        /// <returns>The parsed message. </returns>
        private CloudQueueMessage SelectGetMessageResponse(QueueMessage protocolMessage)
        {
            var message = this.SelectPeekMessageResponse(protocolMessage);
            message.PopReceipt = protocolMessage.PopReceipt;

            if (protocolMessage.TimeNextVisible.HasValue)
            {
                message.NextVisibleTime = protocolMessage.TimeNextVisible.Value;
            }

            return message;
        }