Пример #1
0
        /// <summary>
        /// Sets the appropriate multi-part flags and settings on the specified message header.
        /// </summary>
        /// <param name="header">The message header to update.</param>
        /// <param name="correlatedHeader">The header the specified header is correlated with, if any.</param>
        /// <param name="isMultiPart">Whether the message is part of a multi-part message or not.</param>
        /// <param name="isFinalPart">Whether the message is the final part of a message.</param>
        public static void PrepareHeader(this IMessageHeader header, IMessageHeader correlatedHeader, bool isMultiPart, bool isFinalPart)
        {
            if (isMultiPart)
            {
                if (header.EtpVersion == EtpVersion.v11)
                {
                    header.SetMultiPart();
                }
                if (isFinalPart)
                {
                    header.SetFinalPart();
                }
            }
            else
            {
                header.SetFinalPart();
            }

            header.CorrelationId = correlatedHeader?.MessageId ?? 0;
        }