示例#1
0
        public static QueueIdentity ParsePattern(string identity, ref MatchOptions matchOptions)
        {
            QueueIdentity queueIdentity = QueueIdentity.InternalParse(identity, true, false);

            queueIdentity.ParseDomain(ref matchOptions);
            return(queueIdentity);
        }
示例#2
0
        internal static MessageIdentity InternalParse(string identity, bool queuePartAlwaysAsDomain)
        {
            int    num  = identity.LastIndexOf('\\');
            string text = null;
            string text2;

            if (num == -1)
            {
                text2 = identity;
            }
            else
            {
                text2 = identity.Substring(num + 1);
                text  = identity.Substring(0, num);
            }
            if (string.IsNullOrEmpty(text2))
            {
                throw new ArgumentNullException("Identity");
            }
            QueueIdentity queueIdentity;

            if (!string.IsNullOrEmpty(text))
            {
                queueIdentity = QueueIdentity.InternalParse(text, queuePartAlwaysAsDomain, false);
            }
            else
            {
                queueIdentity = QueueIdentity.Empty;
            }
            long identity2;

            if (long.TryParse(text2, out identity2))
            {
                return(new MessageIdentity(identity2, queueIdentity));
            }
            throw new ArgumentException(DataStrings.ExceptionParseInternalMessageId, "Identity");
        }
示例#3
0
 public static QueueIdentity Parse(string identity, bool implicitShadow)
 {
     return(QueueIdentity.InternalParse(identity, false, implicitShadow));
 }
示例#4
0
 public static QueueIdentity Parse(string identity)
 {
     return(QueueIdentity.InternalParse(identity, false, false));
 }