本文整理匯總了C#中NServiceBus.Unicast.Transport.TransportMessage.GetOriginalId方法的典型用法代碼示例。如果您正苦於以下問題:C# TransportMessage.GetOriginalId方法的具體用法?C# TransportMessage.GetOriginalId怎麽用?C# TransportMessage.GetOriginalId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類NServiceBus.Unicast.Transport.TransportMessage
的用法示例。
在下文中一共展示了TransportMessage.GetOriginalId方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Convert
/// <summary>
/// Converts an MSMQ message to a TransportMessage.
/// </summary>
/// <param name="m"></param>
/// <returns></returns>
public static TransportMessage Convert(Message m)
{
var result = new TransportMessage
{
Id = m.Id,
CorrelationId =
(m.CorrelationId == "00000000-0000-0000-0000-000000000000\\0"
? null
: m.CorrelationId),
Recoverable = m.Recoverable,
TimeToBeReceived = m.TimeToBeReceived,
TimeSent = m.SentTime,
ReplyToAddress = GetIndependentAddressForQueue(m.ResponseQueue),
MessageIntent = Enum.IsDefined(typeof(MessageIntentEnum), m.AppSpecific) ? (MessageIntentEnum)m.AppSpecific : MessageIntentEnum.Send
};
m.BodyStream.Position = 0;
result.Body = new byte[m.BodyStream.Length];
m.BodyStream.Read(result.Body, 0, result.Body.Length);
result.Headers = new Dictionary<string, string>();
if (m.Extension.Length > 0)
{
var stream = new MemoryStream(m.Extension);
var o = headerSerializer.Deserialize(stream);
foreach (var pair in o as List<HeaderInfo>)
if (pair.Key != null)
result.Headers.Add(pair.Key, pair.Value);
}
result.Id = result.GetOriginalId();
if(result.Headers.ContainsKey("EnclosedMessageTypes")) // This is a V2.6 message
ExtractMsmqMessageLabelInformationForBackwardCompatibility(m, result);
result.IdForCorrelation = result.GetIdForCorrelation();
return result;
}