本文整理汇总了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;
}