Exemplo n.º 1
0
        internal static string OrganizationNameForLogging(IRoutingKey key)
        {
            RoutingItemType routingItemType = key.RoutingItemType;

            if (routingItemType != RoutingItemType.ArchiveSmtp)
            {
                switch (routingItemType)
                {
                case RoutingItemType.MailboxGuid:
                {
                    MailboxGuidRoutingKey mailboxGuidRoutingKey = key as MailboxGuidRoutingKey;
                    return(mailboxGuidRoutingKey.TenantDomain);
                }

                case RoutingItemType.Smtp:
                {
                    SmtpRoutingKey smtpRoutingKey = key as SmtpRoutingKey;
                    return(smtpRoutingKey.SmtpAddress.Domain);
                }

                case RoutingItemType.LiveIdMemberName:
                {
                    LiveIdMemberNameRoutingKey liveIdMemberNameRoutingKey = key as LiveIdMemberNameRoutingKey;
                    return(liveIdMemberNameRoutingKey.OrganizationDomain);
                }
                }
                return(string.Empty);
            }
            ArchiveSmtpRoutingKey archiveSmtpRoutingKey = key as ArchiveSmtpRoutingKey;

            return(archiveSmtpRoutingKey.SmtpAddress.Domain);
        }
        string ISharedCache.GetSharedCacheKeyFromRoutingKey(IRoutingKey key)
        {
            string text = string.Empty;

            switch (key.RoutingItemType)
            {
            case RoutingItemType.ArchiveSmtp:
            {
                ArchiveSmtpRoutingKey archiveSmtpRoutingKey = key as ArchiveSmtpRoutingKey;
                text  = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.Smtp, archiveSmtpRoutingKey.SmtpAddress);
                text += "_Archive";
                break;
            }

            case RoutingItemType.DatabaseGuid:
            {
                DatabaseGuidRoutingKey databaseGuidRoutingKey = key as DatabaseGuidRoutingKey;
                text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.DatabaseGuid, databaseGuidRoutingKey.DatabaseGuid);
                break;
            }

            case RoutingItemType.MailboxGuid:
            {
                MailboxGuidRoutingKey mailboxGuidRoutingKey = key as MailboxGuidRoutingKey;
                text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.MailboxGuid, mailboxGuidRoutingKey.MailboxGuid);
                break;
            }

            case RoutingItemType.Smtp:
            {
                SmtpRoutingKey smtpRoutingKey = key as SmtpRoutingKey;
                text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.Smtp, smtpRoutingKey.SmtpAddress);
                break;
            }

            case RoutingItemType.ExternalDirectoryObjectId:
            {
                ExternalDirectoryObjectIdRoutingKey externalDirectoryObjectIdRoutingKey = key as ExternalDirectoryObjectIdRoutingKey;
                text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.ExternalDirectoryObjectId, externalDirectoryObjectIdRoutingKey.UserGuid);
                break;
            }

            case RoutingItemType.LiveIdMemberName:
            {
                LiveIdMemberNameRoutingKey liveIdMemberNameRoutingKey = key as LiveIdMemberNameRoutingKey;
                text = SharedCacheClientWrapper.MakeCacheKey(SharedCacheClientWrapper.AnchorSource.LiveIdMemberName, liveIdMemberNameRoutingKey.LiveIdMemberName);
                break;
            }
            }
            return(text);
        }
Exemplo n.º 3
0
        private static IRoutingKey DeserializeRoutingKey(string type, string value)
        {
            switch (type)
            {
            case "ArchiveSmtp":
            {
                ArchiveSmtpRoutingKey result;
                if (ArchiveSmtpRoutingKey.TryParse(value, out result))
                {
                    return(result);
                }
                break;
            }

            case "DatabaseGuid":
            {
                DatabaseGuidRoutingKey result2;
                if (DatabaseGuidRoutingKey.TryParse(value, out result2))
                {
                    return(result2);
                }
                break;
            }

            case "MailboxGuid":
            {
                MailboxGuidRoutingKey result3;
                if (MailboxGuidRoutingKey.TryParse(value, out result3))
                {
                    return(result3);
                }
                break;
            }

            case "Smtp":
            {
                SmtpRoutingKey result4;
                if (SmtpRoutingKey.TryParse(value, out result4))
                {
                    return(result4);
                }
                break;
            }

            case "Server":
            {
                ServerRoutingKey result5;
                if (ServerRoutingKey.TryParse(value, out result5))
                {
                    return(result5);
                }
                break;
            }

            case "Oid":
            {
                ExternalDirectoryObjectIdRoutingKey result6;
                if (ExternalDirectoryObjectIdRoutingKey.TryParse(value, out result6))
                {
                    return(result6);
                }
                break;
            }

            case "LiveIdMemberName":
            {
                LiveIdMemberNameRoutingKey result7;
                if (LiveIdMemberNameRoutingKey.TryParse(value, out result7))
                {
                    return(result7);
                }
                break;
            }
            }
            return(new UnknownRoutingKey(type, value));
        }