private static void ExtractMsmqMessageLabelInformationForBackwardCompatibility(System.Messaging.Message msmqMsg, Message result)
{
if (string.IsNullOrWhiteSpace(msmqMsg.Label))
return;
if (msmqMsg.Label.Contains(TransportHeaderKeys.IdForCorrelation))
{
int idStartIndex = msmqMsg.Label.IndexOf(string.Format("<{0}>", TransportHeaderKeys.IdForCorrelation)) + TransportHeaderKeys.IdForCorrelation.Length + 2;
int idCount = msmqMsg.Label.IndexOf(string.Format("</{0}>", TransportHeaderKeys.IdForCorrelation)) - idStartIndex;
result.IdForCorrelation = msmqMsg.Label.Substring(idStartIndex, idCount);
}
if (msmqMsg.Label.Contains(Headers.WindowsIdentityName) && !result.Headers.ContainsKey(Headers.WindowsIdentityName))
{
int winStartIndex = msmqMsg.Label.IndexOf(string.Format("<{0}>", Headers.WindowsIdentityName)) + Headers.WindowsIdentityName.Length + 2;
int winCount = msmqMsg.Label.IndexOf(string.Format("</{0}>", Headers.WindowsIdentityName)) - winStartIndex;
result.Headers.Add(Headers.WindowsIdentityName, msmqMsg.Label.Substring(winStartIndex, winCount));
}
}