/// <summary>Tries to read the current message from the queue without removing the message from the queue.</summary> /// <remarks>Within a transaction you cannot peek a message that you moved to a subqueue</remarks> /// <param name="properties">The properties to read</param> /// <param name="timeout">The time allowed, defaults to infinite. Use <see cref="F:System.TimeSpan.Zero" /> to return without waiting</param> /// <param name="transaction">can be NULL for no transaction, a <see cref="T:BusterWood.Msmq.QueueTransaction" />, <see cref="F:BusterWood.Msmq.QueueTransaction.Single" />, or <see cref="F:BusterWood.Msmq.QueueTransaction.Dtc" />.</param> /// <returns>The message, or NULL if the receive times out</returns> public Message Peek(Properties properties = Properties.All, TimeSpan?timeout = default(TimeSpan?), QueueTransaction transaction = null) { return(_queueReader.Peek(properties, timeout, transaction)); }